×
Меню
Индекс

NiTriShape настройки

 

Name
Уникальное имя.
Позволяет удобно ориентироваться в сцене ниф файла.
 
Задается в МАХе при создании нового объекта.
Имя ноды = имени шейпа + номер, если шейпов в таком объекте, больше одного.
 
Всегда используйте понятные имена объектов, это существенно облегчает работу с файлами!
Имя можно менять создавать и в нифскопе, разумеется.
 
Если имя системное, то дает доп. свойства
 
Имя шейпа формируется добавлением приставки Tri_  к названию его ноды, при экспорте через ТЕСэкспортер.
Префикс TRI_ является системным!
И используется в системных объектах.
 
Нифтулз модуль экспорта и ФФЕ экспортере, не добавляют TRI к названию шейпа!
Походу, для нифтулза, это недоработка.
 
Extra Data
Экстрадата работает только из корня и сразу для всего содержимого ниф файла.
 
Т.е. добавление этих свойств шейпу не даст результата.
 
Controller
Стандартный слот для указания контроллера.
 
По копипасте Branchей между объектами, контроллер вставляется автоматически.
Если нет, можно прописать вручную его номер.
 
Flags
В основном отвечает за определение метода детектирования коллизий.
Но может сохранять данные о компрессии текстур, или нормалей.
См. здесь внизу страницы.
 
Обычное значение флага = 2. Либо = 0.
 
Флаги компрессии, оказывают небольшое влияние на сокращение использования памяти и немного ускоряют общее быстродействие. Однако, на фоне влияния размера текстур, это едва ли будет хоть как-то заметно.
 
Допустимые флаги влияющие на компрессию отдельных элементов, или всего сразу.
10, 18, 26, 34, 42, 50, 56.
56 или 58-ой флаг, отвечает за компрессию всего.
И нормалей и прочего.
 
Собственно, 56ой флаг по нифскопу, это collision detection = None, а 58ой = triangles.
Т.е. кроме отдельных случаев мало на что влияет.
 
SSG показывает добавление новых значений при смене флага на шейпе:
56ой флаг
26ой флаг.

Примечание.
В 2024ом было внесено дополнение в значимые флаги!
Т.е. значение номера флага оказывает значительно влияние на поведение поверхности.
В данном случае был добавлен флаг 512.
Это, при обязательном использовании МВСЕ 2.х версии от ноября 2024го и старше, позволит использовать анимацию UV контроллера на скиненной поверхности!
Т.е. существа использующие скин, теперь могут использовать и анимацию смещения развертки!
Т.е. исправлен исконный (баг\особенности) движка, не позволявшая комбинировать скин и ЮВ на одной поверхности.
 
Примечание.
ТЕСэкспортер (по умолчанию) ставит флаг 2.
Для ноды, содержащей шейпы, флаг 10.
Если ноды не содержат шейпов, то также получают флаг 2.
 
ФФЕ = флаг 4.
Для нод = флаг 12.
Если ноды не содержат шейпов, то также получают флаг 4.
 
Нифтулз - флаг 0.
Для нод, во всех случаях, с шейпами они, или без них, флаг 8.
 
Translation
Показывает позицию объекта в сцене XYZ.
 
Но также позволяет и редактировать ее.
Т.е. изменение этих параметров позволяет передвигать шейп.
 
ПКМ по шейпу, вызывает меню EDIT, что позволяет более удобно управлять позицией объекта.
Действия интерактивное и обновляются на экране.
 
Можно одновременно вызвать несколько таких меню, для разных шейпов и копировать позиции между ними.
 
В ряде случаев можно использовать опцию COPY позиции.
ПКМ по шейпу ->transform->copy.
Т.е. скопировать позицию с одного объекта (не важно шейп или нода) и вставить ее на избранный шейп.
 
При изменении позиции объекта в этой строке, объект НЕ перемещается в окне рендера!
Используйте меню EDIT для отображения перемещения объекта в окне рендера.
 
ПКМ непосредственно по строке Translation - вызывает меню Scale Vertiсes.
Что позволяет изменять масштаб сетки произвольно по разным осям.
Например, растянуть только по X или Y.
 
Для плоских объекта, масштабирование вертексов по оси Z может не иметь эффекта.
Rotation
Задает поворот шейпа.
 
Удобнее управлять через меню EDIT.
Пкм, по этой строке, также позволяет вызвать меню Scale Vertiсes.
 
Scale
Масштабирование шейпа.
 
Удобнее управлять через меню EDIT.
Пкм, по этой строке, также позволяет вызвать меню Scale Vertiсes.

Примечание.
Есть небольшая забавность связанная с этим параметром.
Если установить его в  -1, то шейп, отзеркаливается!
темные детали, это scale -1!
Но, возникают проблемы с радиусом отображения.
Т.е. объект исчезает из кадра заметно раньше, чем должен.
Впрочем, если установить радиус как -ХХХ, то это исправит ситуацию!
Т.е. перейти в NiTriShapeData->Radius->-73.4084 *просто добавить - к текущему значению.
 
Если по каким-то причинам scale -1 действительно нужен, то следует применить Flipp Face и Normalls.
 
Примечание.
Также, вызов scale -1 из кейфрейм контроллера - не срабатывает!
Хотя это было бы уже интересно...
 
Velocity
Включает ускорение вектора движения для попавших на такую поверхность (живых НПС и Существа) объектов.
 
Т.е. работает в качестве, своего рода, интерактивного тригера в игре.
 
Т.е. позволяет придать интерактивное ускорение предметам попавшим на поверхность объекта.
Работает только в корневых нодах файла!
Где способно сообщить ускорение игроку, или существам.
Т.е. не работает со статичными предметами, но только с "подвижными".
Игрок, НПС, Существа.
 
Впрочем, что именно должен делать этот параметр в чистом виде - не известно.
Т.е. для чего они используется в ниф файле без учета возможностей интерактивного взаимодействия объектов в игре.
 
Этот параметр отсутствует в старших версий Ниф файлов.
 
Num Properties
 
кол-во назначенных свойств.
 
Сюда помещаются настройки материалов, текстур, альфы и пр.
 
Properties
Собственно в этом слоте указываются номера назначенных свойств.
 
Has Bounding Box
Использование шейпа в качестве «коробки окружения».
Непосредственно для шейпов сомнительная необходимость.
Т.к. обычно Боунд Боксы не отображаются в игре и создаются Нодами.
Но, в некоторых случаях, можно также использовать и в этом разделе, для получения  "коробок" из шейпов.
 
Если нет такой задачи, то NO.
 
Data
 
Можно указать "общую" ShapeData!
Т.е. одна NiTriShapeData может использоваться сразу в нескольких шейпах.
При этом, смещение указанное в Translation, Rotation, Scale настроек triShape окажет на нее влияние!
Т.е. позиция шейпа переместит шейпдату, но так, словно она, уникальная и его собственная!
"Оригинальная" шейпдата, останется в своих координатах.
 
Такой способ позволяет, в ряде случаев, значительно оптимизировать модели.
Фактически убирая все повторы геометрии и значительно уменьшая вес модели на диске.
 
ВАЖНО!
Если была указано общая шейп дата, то, возможно, не следует вызывать опцию Combine Shapes!
Это может привести к критическому вылету Нифскопа (1.1.3) и даже падению драйвера видеокарты!
Впрочем это логично, если учесть, что все вызовы, фактически идут в одну область памяти, которую решили помножить на нуль...
Т.е. НЕ ИСПОЛЬЗУЙТЕ СЛИЯНИЕ ШЕЙПОВ С ОБЩЕЙ ШЕЙП ДАТОЙ!
если она была указана, не вызывайте на этой ноде Combine Shapes!
 
Примечание.
Обратите внимание, что иной раз, удобнее копировать только шейпдату между шейпами, чем весь шейп со всеми его свойствами и прочим.
Это быстрый метод обновлять объекты разного рода не теряя настрое контроллеров и свойств.
Хотя, текстурные свойства, скорее всего, придется поправить.
Т.к. настройки развертки текстур, хранятся в шейпдате.
 
При этом, контроллеры, текстурные и прочие свойства могут быть уникальны!
Т.е для каждого объета, свои.
Хотя 3д МАХ не позволяет применять уникальные модификаторы на клонированные в режиме Instance объекты, но в Нифскопе это можно изменить!
Т.к. контроллеры используют в качестве цели не ShapeData, но именно сам Shape!
Что и позволяет вешать полностью уникальные анимации и текстуры на разные объекты, при этом сохраняя общую геометрическую дату.
Все чайники используют одинаковую ШейпДату и все имеют различные анимации.
Также есть ББ и РутКолижен.
 
Использование одинаковой ШейпДаты в ЛОДах:
 
Общая шейпдата может быть крайне полезна в ЛОДах!
 
Примечание.
См. пример использования здесь:
https://www.nexusmods.com/morrowind/mods/45339
 
Примечание.
Кроме шейпов и стрипсов, ограничено можно применять и для частиц.
Т.е. указывая общую niParticlesData для разных niParticles.
Исключение - нельзя использовать при работе контроллера частиц biBspArray в режиме создания частиц на основе другой системы частиц. Т.к. по видимости здесь возникает "петля" и нуль помноженный на нуль(С)
 
Примечание.
По "научному" это называется Geometry Instancing.
https://ru.wikipedia.org/wiki/Geometry_Instancing
Geometry Instancing является прежде всего оптимизационной методикой, то есть он предназначен прежде всего для увеличения скорости визуализации без уменьшения качества.(С)
 
Метод, позволяющий существенно повышать производительность за счет использования одной и той же базовой геометрии для копий объекта.
Особенно актуально использовать при большом кол-ве (подобных друг-другу) объектов в сцене.
Т.е. объекты могут иметь в своем составе уникальные модификаторы, что сделает их визуально различными. Но при одинаковой для всех базовой геометрии позволяет значительно повышать фпс!
This image was rendered with 100000 asteroids
Пример Instancing геометрии при создании кольца астероидов, где использование одной единственной геометрической даты позволяет создать огромное кол-во объектов, практически без падения фпс.
 
Skin Instance
Сюда прописывается указание на использование NiSkinInstance.
Т.е. если в модели есть Скин, то появляется номер его записи.
 
Наличие, или отсутствие скининга на шейпе, никак не влияют на его флаг!
Т.е. как был флаг 2 (после экспорта из МАХа через ТЕСэкспортер) так он и будет.
Для ФФЕ также верно, но флаг 4.