×
Menu

NiCollisionSwitch notes

 
 
 
С 4 февраля 2020го в ОпМВ.
akortunov:
    Добавлена поддержка NiCollisionSwitch. Этот узел выключает коллизии объекта и отключает возможность "навести" на него перекрестьем в том числе.
 
Флаги этой ноды имеют критическое значение!
Вероятно, оптимальный флаг 8. Покрайней мере все проведенные тесты показывали это.
Хотя G7 писал о 32 флаге.
Что странно, 32ой флаг давал прямо обратный результат.
 
В ниф файле не должно быть Bounding Box или Collision Root.
Если есть, объект может отрабатываться обычно, со всеми коллизиями.
Возможно зависит от флага и организации файла.
 
NiCollisionSwitch более продвинутый вариант NCO.
Можно использовать в качестве альтернативы.
Т.е. создавать участки поверхности через которые будет возможен проход, или иное взаимодействие с объектами сзади.
 
Магические снаряды свободно пролетают через эти объекты.
 
Возможно флаг и имя этой ноды влияют на:
# Propogation Mode Flags:
#     2 PROPAGATE_ON_SUCCESS
#     4 PROPAGATE_ON_FAILURE
#     6 PROPAGATE_ALWAYS
#     8 PROPAGATE_NEVER
Т.е. если вызвать в редакторе SceneGraph (F10) и выделить модель, можно видеть изменения в разделе Propogate.
 
Примечание.
 
Примечание.
NiCollisionSwitch можно использовать в файла существ.
Например, создавая "защитные сферы" вокруг игрока, перемещаемые рядом с игроком через скрипты.
Если в файлах существ были использованы обычные ноды, то такая оболочка плохо позиционируется в узких местах.
Но если использовать NiCollisionSwitch для вложенных шейпов, существо сможет "проходить" без потери смещения относительно игрока, в узких местах.
Будет учитываться только ББ такого существа.
Помимо этого, такое существо можно дополнить ЛОДами.
 
Примечание.
Можно помещать в файлы брони.
Т.е. паковать шейпы в эту ноду, иногда (вроде бы) отмечалась от этого польза.
Но надо дополнительно проверять.
 
Примечание.
Полностью упакованное в эту ноду существо, не возможно активировать в игре!
Т.е. можно управлять зонами при наведении курсора на которые будет появляться имя существа (объекта).
Либо вовсе полностью отключить прямое взаимодействие с существом!
Впрочем, возможность активировать оное через действие скриптов - остается.
 
Примечание.
Крайне полезно паковать в эту ноду всякого рода ореолы!
Особенно вокруг оружия, предметов и шлемов.
Это позволяет избавиться от слишком большого радиуса активации таких предметов, когда курсор, реагирует на то, что не должен.
Т.е. на "мистическую" ауру, которая и должна быть полностью неосязаемой.
 
Примечание.
И крайне полезно паковать - капсулы свойств трафарета (в  файлах оружия особенно).
Т.е. если какая-то модель использует трюки свойств трафарета и применяет объекты большого размера, для создания некоторой зоны, вокруг видимой сетки (меча), то упаковка такого вспомогательного объекта в  NiCollisionSwitch ноду решит проблему увеличенного радиуса активации!

Примечание.
Эта нода, косвенно, взаимодействует с ББ.
Т.е. добавив в объект ББ, появляется возможность более тонко настроить зоны над которой будет появляться планка с названием оного.
 
Greatness7 писал:
not sure exactly what they do though
NiCollisionSwitch is different than NiStringExtraData or RootCollisionNode
because you can use it for only specific branch of a file
so you can have parts of a mesh use collision and parts that do not, by making the do not parts a child of NiCollisionSwitch
it only affects child meshes, not the whole mesh like RootCollisionNode
 
Примечание.
NiCollisionSwitch используется в паре игр 2002-4 годов.
И помечен как удаленный из кода движка начиная с 1.0 версии.
Т.е. нет официальных данных по использованию оного.

Правая часть "no use" объекта содержит NiCollisionSwitch.
Левая, обычная нода.
 
Можно взять бумагу стоя за этим объектом!
Но стоя за левой частью, никак не возможно активировать объект находящийся сзади!
 
Представление по нифскопу.
 
Представление по SSG
NiCollisionSwitch и Lod в Хниф файле существа.
Также полезно использовать и для магических щитов.
 
Настройки модели спрайтового тумана.
Используется маркер и дополнительный флаг NC.
Еще один пример спрайтового тумана, где использован NiCollisionSwitch. Заклинание Телекенеза позволяет свободно взять объект находящийся "внутри" области тумана.
Что не возможно сделать с использованием NCO!