×
Menu

Model Projection Matrix short NOTE

 
Некоторые отдельные примечания по этому параметру в ниф файла.
Т.к. в нифскопе (всех версий) он декодирован не совсем точно.
Отчего, не может быть правильно изменен!
Однако, этот параметр заметно влияет на поведение текстуры и позволяет получать некоторые интересные результаты.
 
Также см. Model Projection Transform в низу страницы.
Параметры работают в связке!
 
И да, тема довольно "неудобная", т.к. надо учитывать много параметров.
- положение самого текстурного эффекта в сцене, т.е. точку начала проекции.
- размер текстуры (scale в настройках эффекта).
- тип текстуры! "плитка", "полоска", "пятно", "угол", "градиент" и есть ли альфа канал. Т.е. рисунок текстуры еще как влияет на результат!
- тип проекции (сфера, параллели, куб).
- частично еще и метод фильтрации (triple или near).
- и метод наложения (Clamp или Wrap)
- и только после этого смотреть на значения в этих параметрах!  Model Projection Matrix и Model Projection Transform
Смена любого значения в оных может создать "свой" результат для каждого из показанных выше параметров.
Но, что накопали, то вот и отмечаем, ибо результаты весьма забавные получаются!))))
 
Смотри основную статью по созданию Густого тумана, здесь.
 
Примечание.
Справка сообщает, что управление матрицей возложено на движок, что логично, вычислять проекцию текстуры относительно точки ее проекции.
Однако, ручное изменение параметров матрицы, в ниф файлах поддерживается.
Т.е. если приложить анимацию к точке проекции текстуры (родительской ноде) или поместить в сам текстурный эффект, заданные "искажения" матрицы сохранят свои настройки.
 
Примечание.
Приведенные здесь скриншоты настроек матрицы, отличаются от финального вида, предлагаемого для настроек Ниф.хмл файла.
Т.е. отлично только отображение, сами настройки матрицы не меняются.
Три блока, по три float значения в каждом.
Отдельная строка для каждого значение, более удобна для быстрого редактирования.
 
Вид настроек матрицы в этом разделе.
Вид после другой версии изменений ниф.хмл файла.
 

При экспорте из МАХа:
 
Для сферического метода освещения (Omni):
Дефолтное значение матрицы (добавляется по умолчанию для всех новых текстурных эффектов в нифскопе).
Т.е. единицы создаются автоматически и обязательно должны быть, что требуется учитывать при редактировании Nif.xml файла.
Т.к. это особенно важно, при добавлении эффекта через нифскоп.
Если все оставить по нулям, возможна нестабильность поведения модели, либо эффект не будет отображаться.
 
 
Для проецируемого эффекта (SPOT) (CG_WORLD_PERSPECTIVE), после внесения правок в Ниф.хмл:
До изменения ниф.хмл файла!
 
После изменения.
Falloff/field  24
Falloff/field 144!
 
Т.е. тесты показывают, что меняются (только?) эти значения матрицы.
Сами значения - зависят от позиции (не поворота!) светильника в сцене, а также от Falloff/field параметра.
При этом, изменение только одного параметра за раз, может не приводить, к изменению значения этих цифр в ниф файле.
Т.е. если светильник повернуть под углом (90*) к поверхности куба, значения в матрице останутся прежними.
 
Для направленного освещения (directional) (CG_WORLD_PARALLEL):
 
снизу и сбоку.
сбоку под 90*. Изменен Falloff/field т.е. на значение матрицы влияет именно этот параметр, а не HotSpot/Beam!
 
 
снизу вверх.
Т.е. во всех случаях, цифры остаются в тех же местах, а равно могут и вовсе не менять своего значения.
 
чем меньше значение... тем БОЛЬШЕ пятно! (Falloff/field 130)
 
Т.е. тесты показывают, что для этого метода освещения (directional), меняются немного другие значения матрицы.
В т.ч. включается параметр Model Projection Transform!
Однако при изменении положения и поворота светильника в сцене, цифры в основном перестают меняться.
Также, чем меньше значение, тем большая область покрывается эффектом.
 
При этом, если (не вносить правки в ниф.хмл) можно видеть, что Нифскоп, все таки видит правильные значения.
Хотя основная строка, показывает нечто другое.
(выпадающее, при наведении курсора, меню показывает верные значения)
 
Но, при попытке изменить значения, в основной строке, в ниф файл, запишется нечто явно странное.
(что и покажет всплывающее меню).
Т.е. вставив уже известные значения из одного эффекта в другой, результат будет "немного отличаться"!
Отчего и можно предполагать, что эта настройка декодирована не правильно, или точнее, настроена не корректно.
Что, впрочем, можно легко исправить, посредством правки Ниф.хмл файла.
И в дальнейшем, устанавливать все данные корректно.
Что и было проверено на практике.
Также, исправление этого параметра, позволяет, корректно вернуть исходные значения, если оные были как-то изменены!
 
Примечание.
Учитывается точка проекции текстуры, ака родительской ноды, а также и другие параметры (Model Projection Transform в т.ч.).
 
Примечание.
Также, можно видеть по СкенеВиюверу или SSG в ТЕС КС, корректность изменения значений.
После правки Ниф.хмл все внесенные значения будут совпадать с показанными.
Но без исправления Ниф.хмл файла, строки будут показывать весьма "дикие" дробные числа и явно не то, что было установлено в нифскопе.
 
Примечание.
К сожалению, сей "баг" был обнаружен только в 2022 (10) году, отчего заметки могут содержать устаревшие данные по этому вопросу.
А равно не верные выводы и рекомендации.
Насколько смогли, поправили связанные разделы, но вероятно мог остаться устаревший материал.

Примечание.
Матрица весьма чувствительна, т.е. смена даже одной сотой числа, существенно влияет на поведение текстуры!
См. выше.
 

Примечание.
FILTER_TRILERP
CLAMP_S_CLAMP_T
EFFECT_FOG_MAP
CG_WORLD_PERSPECTIVE или CG_WORLD_PARALLEL.
 
При этом, видно, как туман сгущается при приближении камеры!
Режим FOG, CLAMP_CLAMP, PARALEL.
Т.е. изменение значений в матрице значительно влияет на результат!
 
Это поворот эффекта в другую сторону, смотрите на положение чайника в сцене.
 
Model Projection Transform 0.0, 0.5, 0.0
Model Projection Transform 0.5, 0.5, 0.0
Model Projection Transform 0.5, 0.5, 0.5
Model Projection Transform 1.0, 0.5, 0.5
X -0.0156 0 0
Y 0.000 0.0156. 0 - определяют поворот проекции текстуры.

Если установить 0.0156 и -0.0156, текстура окажется на потолке.
 
Model Projection Transform
Z, по видимости, определяет высоту наложения.
Т.е. эффект пойдет на стенки куба вверх.
XY боковые проекции в плоскости "пола".
 
Большие значения приводят к эффекту "рассеивания" плотности текстуры, лишь слегка затеняя модель.
Слишком большие, могут полностью "рассеять" текстуру.
 
Сам рисунок текстуры также важен!
Model Projection Transform 0.5, 0.5, 0.5
Model Projection Transform 1.0, 1.0, 0.5
Model Projection Transform 1.0, 1.0, 1.0
Model Projection Transform 0.0, 0.0, 0.0
Model Projection Transform 2.0, 2.0, 4.0
- текстура тумана в формате .TGA.
 
это не точно, т.е все параметры взаимодействуют и несколько не очевидно, что оно делает.
Только смещает, или еще и растягивает.
Или вовсе не производит заметного эффекта.
Это строка Z в основном.
Но в другом случае, с другой текстурой и точкой проекции, изменения параметра в этой строке даст результат!

Для PERSPECTIVE и PARALLEL результаты могут отличаться.
Верно и для других методов.
 
влево вправо растягивает в т.ч.
по диагонали
вокруг оси Z
по диагонали
вверх вниз растягивает в т.ч.
вокруг оси Y или X
<- смещение, масштаб?
вращение?
?смещение масштаб ->.
смещает влево вправо
вверх вниз
масштаб по Z?