ПроектыФорумОцените

OpenLara - движок классического Tomb Raider (alpha 3) (5 стр)

Страницы: 14 5 6 734 Следующая »
#60
15:04, 24 дек 2016

Позвольте спросить -  а что дальше? после того как 90% Лары будет переработано, будет ли что то новое или будет стремление добить оставшиеся 10% в целях перфекционизма, под новым я подразумеваю, к примерму, онлайн редактор карт, мультиплеер и т.п.

#61
15:06, 24 дек 2016

robotcity
Когда будет, тогда и придумаем :)

#62
3:08, 28 дек 2016

За последнюю неделю серьёзно поработал над оптимизацией.
Объединил меши модели в один, в вершинах которого пишу номер влияющей "кости", соответственно трансформации всех частей тела засылаются в шейдер одним вызовом. В качестве трансформаций, вместо матриц теперь использую комбинацию из двух векторов - кватернион+позиция. Размер передаваемых в шейдер данных уменьшился в 2 раза, но инструкций получилось чуть больше (норм раскидывается по ALU). Из-за такого объединения появилась проблема с подменой отдельных частей (рука с оружием, злая голова, торс с дробовиком на спине и т.д.) т.е. раньше для этого модифицировал последний элемент матрицы трансформации с 1.0 на -1.0 решил очень просто - значение w компоненты координаты вершины берётся из pos.w трансформации кости. Т.е. перед отсрисовкой модели для частей выставляю pos.w = -1.0, что уносит меши "за спину" камеры и они не растеризуются. Учитывая эти особенности, модель ГГ рисуется за 4 DIP'а, а общее число DIP'ов после оптимизации снизилось почти в 15 раз.

Уменьшил кол-во компилируемых и переключаемых шейдеров, добавив статический бранчинг.

Добавил простую, но эффектную плюшку - после выхода из воды Лариса ещё некоторое время остаётся мокрой посредством спекуляра. Сейчас он включается в момент выхода из воды, что выглядит достаточно резко, в будущем хочу срезать спекуляр для фрагментов находящихся под водой, так появившаяся на поверхности макушка будет блестеть, а тело под водой нет. Также, хочу сгенерить какую-нибудь шумную карту, чтобы блики были не такими однородными.
Изображение

В данный момент работаю над генерацией карт нормалей используя существующий контент (дифузки). То что получается показано на скринах, пока математически некорректно т.к. TBN базис считается весьма условно, но это лишь первые попытки :)
Изображение
Изображение

#63
6:36, 28 дек 2016

XProger
> Также, хочу сгенерить какую-нибудь шумную карту, чтобы блики были не такими
> однородными.
Это обязательно. Без них Лара выглядит очень пластмассово. И ещё эту шумную текстуру надо скролить вниз, чтобы имитировать стекание воды.

#64
10:06, 28 дек 2016

что то на самих картинка нормал мап не чувствуется

#65
10:20, 28 дек 2016

XProger
Круто. Однако попробовал бы всё же с Nearest Neighbor или фильтрации по типу как в различных эмуляторах старых консолей.

92+
Свет в игре расположен не логично. Специфическое псевдоосвещение как никак. И в оригинальных текстурах "запечёный" свет.

#66
4:18, 3 янв 2017

Для WebGL версии добавил возможность выбора файла уровня (PC и PSX версий), для Windows версии уровень и саундтрек можно указать через командную строку.

Добавил поддержку катсцен:
Изображение

Начал эксперименты с водными поверхностями, на видео показано отражение и преломление по parallax-corrected cubemap и симуляция волн на GPU.
Изображение

#67
6:00, 3 янв 2017

XProger
Как волны симулируешь?

#68
7:44, 3 янв 2017

Чё-то управление глючит. Я долго пытался, но так и не смог вылезти из воды.

#69
5:10, 9 янв 2017

Отказался от кубмапы, теперь отражение рендерю отдельным проходом, а преломление беру из back buffer'а всего, что было отрисованно до воды. Далее просто проецирую текстуры на поверхность воды, заранее помеченную в альфа-канале, чтобы избежать ошибочного refraction объектов над. Нормали перевожу в screen space dudv, пока без учёта глубины относительно поверхности и расстояния до неё.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#70
7:25, 9 янв 2017

XProger
открыл этот бассейн в WebGL версии. Вода самая простая. такой как у тебя в видео нет воды.

#71
10:33, 9 янв 2017

amd.fx6100
W.I.P. - Work In Progress

#72
13:53, 30 янв 2017

Всё ещё пилю воду, осталось дотюнить расчёт каустик и реализовать отражение волн от береговой линии (генерировать дополнительную маску по форме препятствий на пути волн). Также хочу смещать преломления и отражения по dudv в зависимости от расстояния до водной поверхности.
Помимо мелких багфиксов реализовал поддержку переменного pitch'а для звука, это использовалось в оригинале для того, чтобы разнообразить вариации звуков (кряхтения, оханья, аханья, выстрелы, рикошет и т.д.)
Изображение

#73
14:00, 30 янв 2017

Далековато отходишь от оригинала) Будет возможность отключить современные плюшки?

#74
14:04, 30 янв 2017

E-Cone
И это только начало, всё будет.

Страницы: 14 5 6 734 Следующая »
ПроектыФорумОцените