×
Меню
Индекс

Создание потока шейпов вместо потока текстур

 
Т.е. используем единую текстуру, вместо множества.
Собственно выделенная заметка про ФЛТноду.
Для удобства чтения и применения.
 
Примечание.
Флтноду можно использовать вместо флип контроллера!
Т.е. создать в МАХе плоскость со множеством полигонов, наложить на него специально приготовленную монотекстуру.
*Это можно проделать и в нифскопе, дублируя шейпы и корректируя развертку текстур оных, но займет несколько больше времени.
Разбить оную плоскость на отдельные объекты и выставить их всех в нулевые координаты.
Затем упаковать в флт ноду средствами нифсопа. Применить правильный флаг.
Дополнительно упаковать эту ноду в Билборд ноду и в качестве корня файла использовать анимационную ноду.
Присыпать z-буфером, альфа свойствами и прочим по вкусу. По необходимости добавить маркер, ББ и КолиженСвитч ноду.
Все, дешевое спрайтовое пламя готово!
 
В итоге получается анимация выглядящая как поток текстур.
Но вместо множество файлов использующая один единственный файл текстуры!
Меняются только видимые шейпы. Порядком оных можно управлять перемещая их в составе ФЛТ ноды и меняя им номера.
 
Такой метод, может оказаться полезен для оптимизации сцены.
Подробнее см. здесь.
 
В качестве дебагинга, можно создать дополнительную текстуру с номерами.
Т.е. каждый фрагмент (здесь пламени) может иметь свой (нарисованный) номер.
Подключить эту текстуру в качестве декали, или Глоу.
Теперь будет точно видно, соблюдена ли правильная последовательность смены шейпов согласно анимации потока.
 
Текстура.
Где все положения пламени находятся в одном файле.
Как видно, достаточно просто подобрать нужное кол-во полигонов и даже не потребуется возиться с разверткой текстуры!
 
Затем, нарезать единую плоскость, на отдельные объекты и разместить оные в нулевые координаты.
Сгруппировать и экспортировать!
Дополнительно, будет полезно, переименовать объекты более короткими именами (rename tools).
Также, важно чтобы объекты имели последовательные номера.
 
Флаги нод: 32, 72, 32.
Все свойства вынесены на ноду верхнего уровня.
Т.е. никаких повторов свойств, или чего-то подобного.
 
Чем больше текстур тему лучше.
Т.е. анимация будет более плавной.
 

Примечание.
Использование Instancing-а мало вероятно.
Т.к. каждый шейп использует свою собственную развертку, которая как раз и храниться на уровне шейпдаты.

Примечание.
Модель с ФЛТ нодой проще для движка игры, чем модели с флип контроллером.
Равно, такая модель, сокращает число вызовов к диску и (возможно) уменьшает расход памяти.
Т.е. обрабатывает только 2 файла. Ниф и один файл текстуры.
В то время, как флип контроллер вынужден постоянно обновлять поток текстур.
 
Примечание.
http://andklv2.narod.ru/maxscripts/ak-maxscripts.html  искать 111_ExplodeElements_v0.1
либо в ином месте поискать скрипт позволяющий отделять полигоны от основного объекта на автомате.
Т.е. explode в МАХе, не всегда удобна для разбиения большого объекта на множества мелких в один клик.
 
В заметках есть эти плагины:
Additional_Files\Plugins\Plugins_for_Max\Other_plugins\Detach
Detach_Elements.ms, Vu_ExplodeElements.mcg, bga_detachplus_v1.2.ms и macro_Detach_Elements.mcr