Примечание.
Если эмиттер частиц упаковать в NiBSParticleNode , это позволит открыть целый пласт новых возможностей!
Спасибо уважаемому Kurpulio за отмеченную возможность! (03 2020)
Это позволит частицам делать задержку от момент появления, до момент движения объекта.
Например, если Игрок скастовал заклинание, то оно появится в его текущих координатах и так останется на этом месте некоторое время..
А затем "броситься" догонять игрока, когда он отойдет от точки каста на некоторое расстояние!
См. ролики в приложении к заметкам:
@_Notes_for_Modmaking\Additional_Files\Tours\@How_To\NiParticle\PIC_only\PIC_ALLATONCE
Примечание.
Что также будет оказывать эффекты на системы частиц.
Примечание.
Позиция анимированных частиц смещается посредством изменения позиции эмиттера, но не их самих и не их ноды!
Любое редактирование позиции частиц делается через их эмиттер!
Фактически, частицы могут быть в любом месте файла, но появляются они будут всегда от координат их эмиттера.
Эмитер поддерживает ряд контроллеров анимации сообщая оную на свои частицы.
Как вариант, можно поместить частицы и эмиттера в одну, общую, ноду.
Это позволит перемещать все вместе сразу.
Т.е. повесив анимацию на такую ноду, можно перемещать частицы без "последствий".
Примечание.
Эмиттер автоматически создается в 3д МАХ, при добавлении системы частиц в сцену.
Но при копировании частиц между ниф файлами, эмиттер, может потеряться.
Т.к. обычно находится в отдельной от частиц ноде.
Хотя для этого надо "постараться", но такая "возможность" все же есть.
Т.к. нифскоп сообщает о невозможности поместить частицы в другой файл, если не находит там эмиттер, имя которого было указано в настройках контроллера частиц в исходном файле. Однако, если эмиттер был уже удален, или вычищен из слота контроллера, копирование произойдет, но частицы не будут работать, пока в них снова не будет прописан эмиттер.
Примечание.
Частицы отказываются копироваться между НИФами, если не находят Имя своего эмиттера!
т.е. сперва надо скопировать эмиттер, а уже потом - Частицы.
При копировании частиц между файлами, будет удобно:
- Сначала, удалить из файла все шейпы и лишние ноды, оставив лишь Частицы и их Эмитер.
Установить координаты в 0.0.0, т.е. частиц и эмиттера.
И лишь затем, копировать всю корневую ноду в целевой файл.
Если в сцене, по каким-то причинам, нет эмиттера, его можно создать из любой ноды.
Прописав оную в слоте Emitter контроллера частиц.
Примечание.
Если контроллер невидимости повешен на ноду, в которой находятся сами частицы, он будет «выключать» их сразу и целиком.
Полное исчезновение частиц в мгновенье.
Но, если контроллер невидимости размещен на Эмиттере... Частицы не спеша испарятся.
Т.е. Цикл их анимации будет проигран до конца.
Это хорошо использовать при создании выстрелов и взрывов.
Побочный эффект - если это использовано в файлах существ, частицы могут зависнуть после кончины существа не успев проиграть всей своей анимации.
Т.к. при кончине существа в фрейме "Death: Stop" останавливается любая анимация.
Либо увеличивая время анимации кончины в файле.
Т.е. поставив Death: Stop сильно дальше фактического завершения анимаций существа.
Это повысит шансы, когда Игрок вновь посмотрит на существо, уже лежащее в прахе то, частицы корректно завершат свою анимацию.
Хотя обновленные данные показывают, что зависание связано не со временем, а с тем, что частицы замирают за спиной камеры. Наличие неактивного контроллера невидимости, или кейфрейм контроллера, должно сообщать игре просчитывать частицы и за спиной игрока, давая им возможность плавно исчезнуть.
Примечание.
Скрытый Эмиттер *niNode - скрывает свою систему частиц.
Т.е. эмиттер с нечетным флагом (1, 3, 5 и т.п.).
Однако, невидимый эмиттер, не будет скрывать частицы!
Т.е. полностью прозрачный эмиттер, либо эмиттер в виде маркера.
Также, скрытый шейп используемый в качестве эмиттера не будет скрывать частицы!
Т.е. в этом случае, можно использовать нечетные флаги.
Но, если скрыть ноду в которой находится этот шейп, то частицы тоже будут скрыты.
Это следует учитывать при создании анимации частиц исчезающих при некоторых условиях.
Т.е. контроллер невидимости, следует вешать на сам шейп, который служит эмиттером, но на его ноду!
Примечание.
У одного эмиттера, может быть любое кол-во систем частиц!
Примечание.
Если координаты частиц не находятся в координатах эмиттера, они будут не корректно отображаться в нифскопе!
Т.е. при открытии файла они будут находиться в своих координатах, а не в тех, откуда они реально начнут работать.
Следует нажать PLAY для обновления их позиции.
Впрочем, в игре все будет нормально.
Однако, если не требуется получить особых результатов от смещения частиц, то, рекомендуется, совмещать координаты частиц с координатами их Эмиттера!
Так намного удобнее работать с этими объектами.
Также, если частицы появляются рядом с игроком в игре через действие скриптов, они возникнут из своих исходных координат и лишь затем подтянутся к эмиттеру, откуда и будут работать в дальнейшем. Это может быть как полезно, так и наоборот.
Если вы увидели такое, то знайте, на 99% это происходит по причине различия позиции эмиттера и частиц.
Примечание.
Изменение размера (scale) самого эмиттера частиц, по видимости, не приводит к проблемам нарушения размера частиц.
Т.е. scale эмиттера не оказывает явно заметного эффекта.
Что, однако, нельзя сказать про изменение размера ноды частиц.
С чем связано известное кол-во проблем и возможностей.
Примечание.
Обращайте внимание, что для правильной анимации смещения частиц с флагом Trailer = 1 требуется размещение их, или их эмиттера в другой ноде.
Т.е. эмиттер и его частицы НЕ ДОЛЖНЫ находиться в одной ноде.
Особенно это касается существ.
См. ванильных Спящих, или костяных лордов. Где частицы лежат в корне сцены, а эмиттер прикреплен к одной из костей скелета.
Но, также не забывайте о необходимости использования системного имени и правильного флага.
Возможны и обратные варианты.
Эмиттер находится в корне сцены, а частицы в одной из анимированных групп.
Таким образом можно получать дополнительные анимации.
Например:
- эмиттер в корне сцены, без анимации.
- частицы в Анимированной ноде, также имеют в своем составе Колайдер (который не может быть анимирован сам).
- колайдер находится на достаточном удалении от точки появления частиц.
- частицы имеют постоянную анимацию без пауз, т.е. не пропадают из кадра.
- частицы двигаются в сцене за счет анимации ноды в состав которой входят.
В результате:
- Частицы фактически реагируют на приближение к эмиттеру меняя свое поведение на удаление от оного!
Как можно видеть, разница в позиция ноды частиц (ака самих частиц) и их эмиттера оказывают СУЩЕСТВЕННОЕ воздействие на их анимации.
Думается, таким образом можно создавать эффект "сварочного аппарата" который имеет острое пламя на удалении от поверхности и разбивается на искры при приближении к оной.
Еще вариант:
- Эмиттер содержит анимацию некоего движения.
- Эмиттер может быть анимированной нодой с 42 флагом, это не помешает работе частиц.
- Нода с частицами не содержит никакой анимации.
Поведение частиц в такой системе будет отличной от первого случая.
- вероятно происходит ошибка создания эмиттера если он был назван NoCollision.
Т.е. если в качестве эмиттера указать частицам некий объект так названный.
Частицы экспортируются, но вместо эмиттера будет некая ерунда "12134454 invalid".
Нифскоп будет ругаться на это дело, игра и редактор, вероятно улетят в краш.
Примечание.
Справка к Нифскопу имеет такое описание про параметр VELOCITY применительно к эмиттеру частиц:
Controls the way the a particle mesh emitter determines the starting speed and direction of the particles that are emitted.
Но, это относится только к старшим играм серии!
Примечание от Greatness7.
* Note for creatures and flag 128:
In the vanilla engine, particles that don't ignore parent animation (not 32) aren't displayed for creatures if the particles node doesn't have the flag 128,
When a creature is created ingame by a script (as opposed to a creature or lev.list placed in the CS), particles that do ignore parent animation (32) and don't have flag 128 aren't displayed until the game is saved and loaded or, in interiors, until the player looks towards coordinates 0,0,0 where the particles are placed.
|
|
Пример такого файла.
С разнесенными частицами и эмиттером.
Анимация перемещения ноды с частицами сделана через NiPathController
|
Просто эмиттер в сцене с частицами которые стартуют из его координат.
|