NiBSPArrayController - how to add in Nifskope
Использование актуально в файлах существ, либо в иных моделях с последовательной иерархией нод.
Также, как выяснилось 04 2020, можно применять и для создания поверхностей излучающих частицы из каждого вертекса.
Для активации режима клонирования частиц по цепочке объектов:
Сменить имя 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\
также там можно найти файлы с примерами.