×
Меню
Индекс

NiBSPArrayController how to add via NF

Основная статья: NiBSPArrayController
Будет полезно заглянуть и в примечания.
 
Использование актуально в файлах существ, либо в иных моделях с последовательной иерархией нод.
Также, как выяснилось 04 2020, можно применять и для создания поверхностей излучающих частицы из каждого вертекса.
 
Настройки см. NiParticleSystemController.

Для активации режима клонирования частиц по цепочке объектов:
Сменить имя NiParticleSystemController на NiBSPArrayController.
Block->Convert->niB->NiBSPArrayController
В строке Emitter указать второй объект в цепочке!
Если указан первый, клонирования (может) не произойти. По крайней мере тесты показали подобное поведение.
Собственно все - теперь система частиц будет клонирована на все последующие объекты в цепочки иерархии.
Кроме самого последнего.
 
Важно!
В настройках NiBSPArrayController должен быть флаг 8.
Собственно этот флаг и отвечает за включение "клонирования".
Можно использовать флаг 10, тогда частицы будут пульсировать.
Полезно только для специфических целей анимации.
 
Примечание.
Если использовать флаг 12, можно получить "стоячий туман".
Т.е. частицы будут созданы один раз и после так и застынут.
В некоторых случаях это быстрый и легкий способ получить полностью статичный вид.
При повторном входе в ячейку, частицы снова будут перезапущены и создадут несколько иной вид.
 
Примечание.
Эмиттинг по цепочке объектов прекрасно работает в существами и прочими объектами (активаторы, предметы и др).
Кроме файлов брони и одежды для НПС!
Здесь частицы либо не появляются в нужных позициях, либо не отображаются вовсе.
За подробностями см. основной раздел.
 

Если требуется задействовать, в качестве эмиттеров, вертексы некоторой поверхности:
Аналогично выше отмеченному, т.е. сменить имя NiParticleSystemController на NiBSPArrayController.
Block->Convert->niB->NiBSPArrayController
- но теперь, установить флаг 24!
- и указать в качестве эмиттера желаемый шейп, а не ноду!
 
Важно!
Шейп (эмиттер) должен быть всегда выше частиц по иерархии объектов в ниф файле!
Иначе ктд!
 
Эмиттер должен всегда иметь меньший номер, чем контроллер частиц!
Т.е. оптимально задать правильный порядок объектов разделе Chidren корневой ноды.
Указав сначала эмиттер, а затем ноду частиц.
правильная конструкция.
Шейп (эмиттер) имеет номер 3.
И находится выше в сцене чем система частиц.
 
В разделе Children корня файла, нода эмиттера и нода частиц, указаны последовательно.
Сначала плоскость эмиттера, затем нода частиц.
НЕ правильная конструкция, приводящая к КТД!
Шейп эмиттера имеет номер 14.
И находится ниже по списку объектов, чем система частиц.
 
В корне файла, нода частиц находится выше, чем нода эмиттера!
 
Примечание.
Крайне плохо работает с моделями существ и практически не работает корректно для файлов брони и одежды!
Т.е. эмиттинг с поверхности, работает корректно, только для активаторов и прочих статичных объектов.
Светильники, предметы и прочая.
За подробностями см. основной раздел.
 

Если требуется задействовать другие частицы в качестве эмиттеров:
- сменить имя NiParticleSystemController на NiBSPArrayController.
- установить флаг 24
- эмиттером указать желаемый шейп частиц, а не их ноду!
Т.е. NiAutoNormalParticles (NiRotatingParticles или NiParticles).
Здесь 19ый NiBSPArrayController использует в качестве эмиттера NiAutoNormalParticles под номером 13.
 
Важно!
Частицы используемые в качестве эмиттера должны быть выше по списку объектов в ниф файле!
См. выше по странице.
 
Примечание!
Использовать одинаковые значения для Emit Rate (и Num Particles) во всех системах частиц!
Но, нельзя использовать общий NiParticlesData, для всех частиц в сцене!
Т.е. у всех систем частиц должен быть уникальный номер NiParticlesData.
При этом, следует указать во всех NiParticlesData одинаковые настройки кол-ва доступных и активных частиц.
Это предотвратит создание частиц без точек входа эмиттеров.
Т.е. не будут возникать свободные частицы не могущие найти себе эмиттер, отчего остающееся висеть на месте своего рождения в виде густого облака.
 
С другой стороны, в некоторых случаях, это может оказаться полезным.
Т.е. такие свободно висящие облака.
Для этого, достаточно поднять значение Emit Rate у системы частиц, которая использует другие частицы в качестве эмиттеров.
 
Примечание!
На появления "зависших и лишних" частиц также влияет параметр Num Valid в настройках Контроллера.
Т.е. следует указывать значение 0.
Это предотвратит создание частиц до нулевого кадра.
Актуально, в основном, для магических эффектов.
 

Можно добавить контроллер в файл с нуля.
Insert->niB->NiBSPArrayController
Настройки см. здесь.
 
За доп. подробностями см. ролики:
@_Notes_for_Modmaking\Additional_Files\Tours\
NiParticle\
также там можно найти файлы с примерами.