Дневник разработки №34
Всем привет!
Прошло уже больше месяца с выхода последнего дневника. Скажу честно, тяжелый был для меня месяц в плане разработки.
Большую часть времени было уделено построению структуры общества, взаимодействию населения, переходу из одной страты в другую. Очень много времени ушло на построение экономических связей.
В один момент, я решил накидать некоторую схему нашего проекта, что позволило малость систематизировать все свои мысли и увидеть степень выполнения тех или иных задач. Кому интересно оценить масштаб, можно посмотреть полученную схему: https://mm.tt/1209438933?t=mBE5c38pFT
В перерывах между работами по геймплейной части баловался с горами, и вернул им опять снежные шапки:
Алексей сделал новые оптимизированные пальмы -270-350 треугольников на один субтайл
Отличный результат при таком полигонаже!
Еще я успел поэкспериментировать с пользовательским интерфейсом и сделал вот такой набросок:
И более менее довел его до ума:
Мне больше по душе такая концепция интерфейса. Раньше интерфейс был очень тяжелый и все выглядело как будто смотришь в трубу. Но сейчас явно не хватает каких либо завитушек :)
Потом я поэкспериментировал с прозрачными объектами, была задумка у нас изначально реализовать подобные поля:
Но, в итоге, решили остановиться на подобном варианте:
В долгом ящике у меня висела задача построения стен вокруг наших поселений. Алексей сделал модельки, уже как пол года назад, но руки не доходили до них. Пришлось стряхнуть с них пыль:
Задача оказалась не тривиальной, пришлось проводить массу вычислений чтобы определить необходимость наличия стены со входом, вот пример подобного случая:
А вот шедевральные лиственные деревья на 800 треугольников на субтайл:
Потом я все взял и сломал:
Наступил десятидневный период оптимизации и переосмысления всего что было сделано по рендеру.
И все это из-за того, что мне в голову пришла одна мысль, как можно еще оптимизировать наш рендер. К сожалению мне не удалось реализовать все свои задумки, так сказать теоретические выкладки пошли в разрез с практическими результатами.
Но, результат все равно получился впечатляющим. Первое что хочу отметить — у нас сейчас 16 субтайлов на тайл, а было 9. Раньше сетка субтайлов была 3х3, сейчас 4х4. 484 вершины против 1089 сейчас. В 2.25 раза увеличилось количество вершин на тайл, а производительность осталось на прежнем уровне и генерация карты происходит теперь быстрее, так как самый трудоемкий процесс просчета нормалей теперь происходит быстрее. Это получилось за счет того, что я убрал из расчетов все числа с периодом после запятой, такие как 1\3 и 2\3. Теперь все расчеты как на стороне CPU так GPU происходят быстрее.
Это особенно заметно на больших и огромных мирах:
Увеличение числа вершин и субтайлов позволило реализовать более реалистичные горы:
Теперь наш рендер вывозит 32 миллиона полигонов!!! Правда на моейт GTX660 это всего 10FPS
Переделка всего мира на структуру 4х4 субтайлов повлекло переделку генерации гор, холмов, рек, масштабированию всех моделей. Что в совокупности отняло эти 10 дней.
- Также были реализованы следующие моменты о которых хотелось бы мельком рассказать:
- Нормалмапы для всего террейна.
- Ошибка с вычислением нормалмап.
- Исправленна ошибка интерфейса на контейнерах возникающаяя при событиях MouseEntered MouseExited.
- Режим перехода в/из полноэкранный режим по нажатию клавиши F11.
Очень много времени у меня занял один баг:
5 часов я убил на его поиски :)
Спасибо за внимание!
Вступайте в нашу группу в ВК: https://vk.com/thegreattribes
Смотрите также:
Комментарии
- 1
- 2 (Текущая страница)
Реки здорово выглядят.
Это болото? Или наслоение элементов генерации на воду? :)
Это болото? Или наслоение элементов генерации на воду? :)
Это я деревьями замостил каждый субтайл, все ради тестирования.
- 1
- 2 (Текущая страница)
CollectableItemData.cs
[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]