Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.143.207] |
|
Сообщ.
#1
,
|
|
|
Существуют всякие игрушки, которые имеют модели, но отображаются в 2d.
Примеры таких игр Badland: Скрытый текст Patapon: Скрытый текст LocoRoco: Скрытый текст Они рисуются в двумерном пространстве, но по факту видно, что они имеют некоторую модель персонажа (т.е. это не спрайтовый рендер, хотя в случае Patapon - это сомнительно, скорее как раз спрайты, не важно). Интересует теория, как делаются такие игры. Это ведь не просто отрисовка линий по точкам? Если есть возможность - тыкните пожалуйста в форум геймдева или ссылку на msdn, разберусь. З.Ы. Технологии - OpenGL 2.0+, Libgdx (Lwjgl), но не думаю, что это важно. Добавлено Расширю немного вопрос. При использовании абстрактных 2D канвасов - обычно используются методы drawLine, drawBezieCurve и проч., используя OpenGL - чёрным по белому везде написано, что использование подобных вещей - плохая и порочная практика, очень сильно всё замедляют и только для дебага. Получается отрисовка подобных вещей - это отрисовка 3d моделей с диффузным одноцветным материалом и отключённым освещением, верно я размышляю? |
Сообщ.
#2
,
|
|
|
Если учесть, что спрайты для плоских и изометрических игр часто получались рендерингом 3D-моделей (иногда фотографированием фигурок, как в первых DOOM'ах), такой подход вполне может иметь место. Другой вариант: плоская модель с анимацией, как в игре "Another World".
И думается, модель освещения вообще нужно отключать, если это возможно, а рисовать текстуры как есть. |
Сообщ.
#3
,
|
|
|
Да, так и подумал. Ещё есть вариант вообще избавиться от моделей (как таковых, со скелетом и анимациями) и тупо всё из мешей создавать
Пока что вполне получилось, примерно как надо: Прикреплённая картинка
Думаю не буду закрывать вопрос, вдруг ещё какие идеи будут З.Ы. Ну и бинарнички, если кому интересно: http://docs.rudev.org/d/3151e019aafb64d89bac8eaaabc8ce2f (7.8 метров) |
Сообщ.
#4
,
|
|
|
Цитата Serafim @ как таковых, со скелетом и анимациями wat? причём тут скелеты и анимации? меши с весами отдельно, скелет отдельно, анимации отдельно |
Сообщ.
#5
,
|
|
|
Цитата imbaFireFenix @ причём тут скелеты и анимации Цитата Serafim @ от моделей Например экспорт из блендера |
Сообщ.
#6
,
|
|
|
Цитата amk @ И думается, модель освещения вообще нужно отключать, если это возможно, а рисовать текстуры как есть. Ну освещение в приложении требуется. Решил кардинально сменить стек технологий, раньше остановился вот на таком: http://forum.sources.ru/index.php?act=Atta...attach_id=33266 Хочется как-то это повторить, но без гемора особого. |
Сообщ.
#7
,
|
|
|
Свет фонаря можно сымитировать задником. На столбы и деревья этот свет похоже никак не влияет.
Здесь интересно передаётся глубина. Во-первых, масштаб. Во-вторых, дымка. В-третьих, резкость. |
Сообщ.
#8
,
|
|
|
Цитата amk @ сымитировать задником. Тупо меш с заливкой? Цитата amk @ На столбы и деревья этот свет похоже никак не влияет. Если по порядку - освещение, работая с OpenGL в 2d, я делал сферическим спрайтом и накладывал его два раза, один раз в самом низу (В самом начале), и засветлял фон в местах, где прозрачность спрайта наименьшая, второй раз накладывал уже поверх всего слоя с шейдером, который изменял значение размытия, меньше прозрачность - меньше блюра, т.е. в местах, где деревья больше всего соприкасаются с центром "освещения" происходит размытие границы и небольшое засветление. На скрине этого нету (тогда ещё не было), зато вот тут отчётливо видно: Прикреплённая картинка
Но понято всё это, что это не родное освещение, а сэмулированное, хз, стоит ли сейчас поступать точно так же. Добавлено Цитата amk @ Здесь интересно передаётся глубина. Т.к. изначально всё было на 2d - было значение z-index, т.е. глубина (дальность) от основного слоя. Чем выше этот z-index, тем выше прозрачность слоя и его размытие по-гауссу. А т.к. это были спрайты, а не модель - размыть можно было в оперативной памяти, т.е. всё летало. А вот запилить всё это в реальном времени было адово лагуче: http://output.jsbin.com/aTivEjO/2 По-этому и решил более нативно начать пилить. |
Сообщ.
#9
,
|
|
|
Цитата Serafim @ Ещё проще - текстура, натянутая позади всей сцены - то есть фон. Фактически дальше ты написал, что так и делал - высветлял фон в местах расположения источников света.Тупо меш с заливкой? Вообще, не вижу для 2d и изометрических игр существенных преимуществ от перехода на использование моделей. |
Сообщ.
#10
,
|
|
|
Цитата amk @ Ещё проще - текстура, натянутая позади всей сцены - то есть фон. Фактически дальше ты написал, что так и делал - высветлял фон в местах расположения источников света. Всё же нужен меш: http://forum.sources.ru/index.php?act=Atta...attach_id=33321 Цитата amk @ Вообще, не вижу для 2d и изометрических игр существенных преимуществ от перехода на использование моделей. Расчёт физики, скелет, анимация, построенные на геометрии модели. Например. Я уже успел состряпать генератор json и *.fbx моделей из фотошопного psd, так что трудоёмкости это не добавит особо. |