Показать сообщение отдельно
Старый 12.07.2010, 23:27   #1
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Bombers3d - генерация меша уровня

Что-то опять появилась ностальгия по Mine Bombers... и захотелось оживить заброшенный проект Bombers3D средствами Unity3d. Первое с чего-бы хотел начать - это с генерации сетки уровня.

Как это было реализовано раньше на Blitz3d (как работает можно в игре посмотреть на F8 - F10, точно не помню):
  1. Сетка уровня была разбита на вертикальные полосы
  2. При уничтожении любой клетки полосы или при изменении ее текстуры происходила перегенерация сетки всей полосы.
  3. На сетку накладывалась одна большая текстура, содержащая в себе все необходимые тайлы.
  4. Анимация текстур уровня (в той версии которая на сайте ее нету, анимаци восновном использовалась для тумана войны и оружия - "биомасса", которая кроме анимации еще и заполняла все свободное пространство) была выполнена путем отрисовки в эту большую текстуру новых кадров анимации на свои места.
  5. Генерация сетки полосы выполнялась очисткой меша и созданием заново нужных вершин, нормалей и индексов.
  6. Для тумана войны генерировалась более упрощенная сетка, т.к. он имел одинаковую текстуру.

Как это реализовать в юнити:
  1. Первое от чего хочется отказаться - это единая текстура. Хочется больше универсальности по изменению ресурсов в игре.
  2. Так же хочется отказаться от рендеринга в текстуру для создания анимированных тайлов. (Хочется чтобы игру можно было скомпилировать на бесплатной версии Юнити).
  3. Хочется добиться минимального переключения текстур при визуализации уровня. Возможно для этого придется генерировать меши для каждого материала отдельно.
  4. Стоит ли сохранить линейчатую структуру генерации стеки?
  5. Хочется использовать карты нормалей для лучшего освещения (ну с этим проблем думаю не возникнет).
  6. По результатам хочется создать редактор для уровней игры.

Хотелось бы выслушать мнение форумчан по этому поводу. Может у кого есть более интересные идеи по этому поводу?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием