|
NiSortAdjustNode примечания
Хорошие новости!(С) от 05 2020.
Не прошло и 20 лет, как нашлась проблема не позволявшая использовать этот объект раньше.
Благодаря изысканиям уважаемого Greatness7 это ошибка была найдена и устранена.
Высказывавшиеся ранее предположения об ошибке движка, к счастью, оказались ошибочны!
NiSortAdjustNode это может в полной мере работать в игре!
Примечания.
- Наиболее актуально использовать для устранения строба полигонов в двухслойных объектах, где каждый слой имеет альфа.
Что бывает полезно, когда требуется перекрытия нижнего слоя с альфой, верхним, также с этим свойствами.
Т.е. будут видны только определенные участки слоя!
- Сортировка работает только в приделах своей ноды.
- Возможно работает только с двумя объектами!
Т.е. не больше двух вложенных объектов. (это не точно, требуется больше тестов)
- Возможно использование нескольких NiSortAdjustNode в одном файле.
- Есть мнение, что каждая NiSortAdjustNode должна использовать и свой уникальный NiAlphaAccumulator.
- Однако, есть и иное мнение, что NiAlphaAccumulator как раз и нужен для использования в разных NiSortAdjustNode.
Чтобы обобщать их свойства.
Т.е. несколько NiSortAdjustNode могут использовать один общий NiAlphaAccumulator или NiClusterAccumulator.
Уникальные настройки.
Sorting Mode
|
SORTING_INHERIT - ничем не отличается от обычного поведения сортировки.
SORTING_OFF - включает сортировку!
SORTING_SUBSORT - фактически равно первому пункту.
|
Accumulator
|
ссылка на NiAlphaAccumulator
|
В этом разделе и была проблема, т.е. вместо ссылки на NiAccumulator шло значение Unknown Int 2.
Которое и создавало ошибку.
Это также может срабатывать!
После этого, все стало работать исправно!
Примечание.
Начальные данные нифскопа базировались на изучении моделей из игры Lokki версии ниф файла 10.
Отчего, вероятно и возникло неправильное определение параметров, т.к. от версии к версии ниф файлы будут сильно отличаться.
Unknown Int 2 - значение "-1".
Отвечает за порядок сортировки объектов.
Т.е. какой объект из какого будет вычитаться.
Создание в 3д МАХ.
ТЕС экспортер и старая версия ФФЕ экспортера, не умеют создавать (либо правильно экспортировать) этот узел!
Только, версия экспортера Gamebryo 1.1 имеет опцию создания этой ноду.
Прописать в User Defined.
NiSortAdjustNode = SORTING_OFF
Примечание.
R-Zero
the hell is NiAlphaAccumulator
Greatness7
its a thing :smile:
i dont think NiSortAdjustNode is restricted to just alpha sorting
there is other accumulator types
e.g. if you wanted depth sorting kinda like you did earlier
there is NiClusterAccumulator
but i havent tinkered with it and there is no examples in docs
her eis the same thing ingame
to prove it works :smile:
in practice this isnt much different than using NoSort except that it is only no-sort within the context of its siblings, and not for the whole scene
(which is a pretty important thing, so it wont fuck up water plane and such)
![]() |
![]() |
Объекты содержащие NiSortAdjustNode в режиме SORTING_OFF.
- нет строба полигонов.
- видны полупрозрачные вложенные сферы.
- отсечен уровень воды. Если приглядеться у правого черепа, в районе виска, видно серую полосу.
- также, воду не видно через сферы.
|
Более наглядный результат отсечения объектов с альфой.
При этом, в отличие от специфических флагов альфы, NiSortAdjustNode не создает нежелательной зоны полного отсечения прозрачных объектов.
|
![]() |
![]() |
Картинка из официальной справки.
Собственно показывает эффект сортировки на прическе мумии.
В левой голове есть строб полигонов.
В правой, где использовано NiSortAdjustNode - строба нет.
|
Два ряда сфер (6 штук)
Слева направо.
- SORTING_INHERIT
- SORTING_OFF
- SORTING_SUBSORT |
![]() |
![]() |
Два объекта с прозрачностью материала 0.9.
NiSortAdjustNode и SORTING_OFF.
Оба объекта отображаются корректно.
|
NiSortAdjustNode и SORTING_INHERIT.
Вложенный объект перестает отображаться, с некоторых ракурсов.
Т.е. результат ничем не отличается от обычного режиме сортировки объектов с альфой внутри простой НиНоды.
|
![]() |
![]() |
Система частиц и ее эмиттер (квадрат в центре) в обычной ноде.
Видна пляска полигонов окружающих частицы объектов!
|
Также и вложенные объекты "мерцают".
|
![]() |
![]() |
Sorting OFF частицы упакованы в SortAdjuctNode.
Отображение стабильно, пляски полигонов не происходит.
Как во вложенных, так и на внешних объектах.
|
Однако, частицы становятся как бы более "призрачными", фактически переставая закрывать собой объекты.
|