×
Меню
Индекс

NiFlipController примечания

Примечания.
 
- большое кол-во FlippControllers в сцене может негативно влиять на фпс и повышать расход памяти, а равно повышать шанс вылета игры!
 
- FlipController  может работать на скинненых объектах.
 
- При копировании между нифами, надо брать NiTexturingProperty, а не сам контроллер!
Т.к. он будет ругаться на отсутствие имени, или еще чего-то и отказываться копироваться.
Впрочем, если задать имя для  NiTexturingProperty, то возможно копирование сразу всего блока.
 
- При назначении в нифскопе, или редактировании готового контроллера, возможно потребуется исправить имя (номер) текстуры на целевом слоте в  NiTexturingProperty, т.е. там может остаться старая текстура.
 
- При изменении кол-ва текстур, в контроллере, может потребоваться изменить и время завершения.
Т.е. из расчета 1 текстура = значении Дельты. Обычно это 1 фрейм равный 0.0333.
D*C=E
Delta*Кол-во текстур = конец анимации.
Если время будет ниже верхнего значения, некоторые текстуры могут пропасть из цикла анимации.
Т.е. не все текстуры будут показаны.
Также на работу потока текстур будет влиять параметр Frequency.
 
- можно повторять номера текстур в Sources!
Это позволяет задерживать определенные текстуры в кадре дольше.
Предварительно, следует увеличить значение Num Sources на желаемое.
Затем руками внести правки.
Если поток не слишком длинный (не более 30 текстур) это будет просто.
Если больше 100 - долго.
Но можно добавлять такие повторы в конец записей, это не создаст сложностей.
 
- При добавлении через Нифскоп, может, не корректно устанавливаться время жизни текстуры!
Не 0.0333 а, например, 0.0243, или 0.0156 и пр.
Т.е. при добавлении ФлипКонтрллера только через нифскоп, всегда проверяйте время в разделе Delta.
Оно может быть указано не верно!
 
- можно свободно назначать флип контроллер на все текстурные слоты используя только нифскоп.
Будет удобно создавать модель в МАХе с одной текстурой только на Базовом слоте.
Задав таким образом базовые настройки развертки и прочего.
А затем, в нифскопе, добавить новые текстуры и контроллеры оных.
 
- при экспорте из МАХа потока на слоте Decall, в нифскопе в настройках ФлипКонтроллера  будет стоять слот NORMAL_MAP.
Если поменять оный на DECAL_0_MAP, анимация перестанет проигрываться!
Верно для нифскопа, игры и редактора.
Обращайте на это внимание, при добавлении потока на слоты декалей!
 
- можно менять каналы развертки.
Для каждого потока свой.
 
- позволяет создавать красивые магические эффекты.
Особенно актуально для не Billboard объектов использующих множество плоскостей.
Если на них использовать статичную текстуру, получится не очень красиво, но если наложить мерцающий поток текстур, результат будет прямо обратным.
 
- если отмечаются разного рода не стабильности в работе анимаций, либо подергивания, либо паузы.
Но все настройки в порядке.
То, имеет смысл проверить сцену на предмет контроллеров время завершения которых больше чем Stop Time этого контроллера.
Т.е. Stop time должен совпадать для всех контроллеров в сцене.
Равно и для ключей в их DATA.
 
- в некоторых случаях, проблема может быть во времени жизни частиц.
Если оно слишком коротко, то анимация текстур может не успеть проиграться!
Следует увеличить время жизни частицам.
Особенно это актуально, если Flipp назначен на сами частицы!
 
- дарк карта, будет работать маской для всех прочих слотов:
если она использует ФлипКонтроллер.
если все другие слоты его используют.
Т.е. слот Дарк Карты будет выполнять свои задачи для всех случаев использования флип контроллера.
 
Примечание.
В целом это очень интересный контроллер, позволяющий создавать массу интересных эффектов.
А в сочетании с управлением скоростью, или созданием пауз только для отдельных текстур, позволит получать еще более внушительные результаты, которые, в теории, можно подвязывать на скрипты и внутреигровое время.
Например рассчитав, что некая дверь должна открываться в течении - 1 мин. 55 секунд.
Все это время игрок будет видеть некий индикатор показывающий прогресс бар этого события.
Т.е. можно подстроить время работы FlippControllera под это значение, без увеличения числа текстур.

Примечание.
В некоторых случаях можно использовать эту ноду.
Возможно такой вариант, более оптимален в плане сокращения размера файлов плагина, а равно облегчает нагрузку на диск.
Т.к. флип контроллер ПОСТОЯННО читает текстуры с диска.
Т.е. если в сцене есть такие контроллеры, то по утилитам мониторинга активности система (диска) можно видеть, что каждый вызов текстуры, создает обращение к диску. Движок игры не умеет кешировать такие текстуры в память!
Конечно современные диски переносят еще и не такие "страдания", но если можно сократить кол-во обращений, то стоит этим воспользоваться.
Покрайней мере, это следует учитывать и не перегружать сцену большим числом моделей с Флип Контроллера.
 
Примечание.
Возможно странное поведение флип контроллера при использовании оного одновременно на Глоу слот и базовой текстуре.
В случае, если все текстуры используют альфа канал в т.ч. и базовая текстура.
Т.е. поток базовых текстур будет виден только на фоне Глоу текстуры.
Если не баг и не случайная ошибка от наличия дарк карты в модели, то глоу текстура может работать, как маска для базовой текстуры.
По крайней мере в некоторых случаях, например совместного использования флип контроллера на нескольких слотах.
Прочие текстуры, также могут начать работать только по маске создаваемой Глоу текстурой.
Примечание.
Возможно это баг а не фича и было исправлено в МВСЕ 2.0 от 2021 года.
 
Примечание.
В МВСЕ 2.0 от мая 2021 года некоторые баги были исправлены.
Т.е. в т.ч. и этот описанный здесь баг, когда в сцене не могут работать несколько одинаковых моделей с ЮВ контроллером по разным слотам.
Т.е. проблему ошибки клонирования моделей с флип и ЮВ контроллером, наконец-то решили.
Однако это требует МВСЕ 2.0 от 05.2021 и выше + МСП 2.4 или выше.
Но хотя бы дает спокойно использовать копии одной и той же модели в одной сцене!
Равное, для ОпМВ - это также решено.
И описываемый здесь баг имеется только в ванильном МВ!
 

Тестовые модели с Флипконтроллером.
Скриншот на полностью Ванильном МВ, без МСП и МГЕ.
 
Сверху - анимирован только Gloss и Bump.
Потоки одинаковы, для наглядности.
На левой модели Flipp контроллер только на слоте Bump.
На правой добавлен еще и Gloss слот, также с контроллером.
Заметно некоторое различие в оттенке блика.
 
Нижний ряд - модели с одним Флипконтроллером по одному из слотов.
Слева на право:
- все слоты. Работает только с МСП.
- по Base.
- по Detail.
- по Dark.
- по Glow.
- по Gloss.
 
Видны изменения потока текстур.
Кристалл в центре это работа NiFlipController по слоту Gloss карты.
Т.е. текстура кристалла существует только в этом потоке.
Однако, она корректно отображается игрой.
 
Модель с несколькими контроллерами потока на разных слотах.
Тестовая сцена со множеством копий.
Корректно работает только один объект в сцене!
В независимости от флагов в настройках ниф файла.
 
Всегда последняя копия, если объектов много.
 
Синий цвет - стандартная ошибка синего цвета.
 
Она же в игре. И все работает!
Что странно... т.к. раньше такого не получалось (С).
Если использовать статичную текстуру на подобном объекте,
можно будет видеть плоскости, как например на этом скриншоте.
Однако, если применить FlipController, это можно обойти и получить красивый эффект.
 
И вместо очевидно видимой полигональности, получить тонкие лучи света бьющие во все стороны.
Повторы текстур приведут к задержке видимого их отображения.
Т.е. фактически создадут паузу для указанных номеров.