×
Меню
Индекс

NiLightColorController примечания

 
Примечание.
Можно было думать, что цвет определяется по положению "маркера" на палитре цветов.
И niPosData - не кодированное sRGB значение! А именно место указывающие откуда брать цвет.
Однако, как оказалось это все-таки RGB!
1.0000 1.0000  1.0000  - чистый белый
0 0 0 - черный
1 0 0 - красный
0 1 0 - зеленый
0 0 1 - синий
Т.е. были проведены дополнительные тесты.
И можно менять цвет используя только нифскоп.
Хотя подобрать желаемые комбинации цвета может быть затруднительно, т.к. Нифскоп не показывает эту анимацию.
 
Примечание.
В отличие от NiMaterialColorController  воздействует на цвет вертексов объекта, а не на цветность материала.
 
Примечание.
Может работать вместе с  NiMaterialColorController.
Т.е. пока МатериалКолорКонтроллер будет менять общий цвет объекта, NiLightColorController может менять освещение его участкам.
 
Примечание.
Обращайте внимание, что это работа по вертексного освещения объекта!
Т.е. при включении в МГЕ perPixelLigth режима - NiLight может перестать работать!
Также, слишком большое кол-во источников освещения в сцене, перекроет работу этого эффекта.
Имеются в виду, как игровые, так и находящиеся в ниф файлах, "лампочки".
8 штук на одну поверхность!
 
Примечание.
В целом, интересный контроллер позволяющий устраивать светомузыку.
Или гасить свет. Т.е. если установить цвет черным, источник освещения будет выключен.
Если подключить МВСЕ, то можно создавать глобальные эффекты освещения на всю локацию.
Либо, менять свет магического снаряда во время его полета!
 
Примечание.
Флаг 24, в настройках контроллера свопит цвета!
Т.е. изменяет влияние контроллера с дифузного (и спекулярного) слотов на слот амбиентного освещения.
Т.е. позволяет управлять вторым цветом вместо первого.
В теории должен быть еще и флаг для выбора влияния на канал спекулара, но поскольку спекулар не работает, то видимого эффекта нету.
Но все тесты не показали даже само наличие такого флага, хотя это и не отменяет вероятности его существование в принципе.
8-ой флаг.
24ый флаг
Собственно вот он своп цвета, по скеневиюверу.
Только сменой флага, цвета сами перепрыгнули в другие слоты.
 
Примечание.
Возможно повесить 2 контроллера, где каждый влияет на свои слоты цвета, но смысла в этом, похоже нету.

Примечание.
В отличие от niMaterialColorController у NiLightColorController только 2 возможных флага. 8 и 24.
Которые отвечают за "своп" цвета, т.е. за смену канала, но не за выбор активного.
Т.е. для niMaterialColorController есть 4 флага, каждый из них отвечает за свой слот цвета.
Но для NiLightColorController работает только переключение цветов между амбиентным и диффузионным освещением.
Собственно, при изучении флагов niMaterialColorController и было обнаружено влияние 24го флага для NiLightColorControllerа.
 
Примечание.
Из переписки на одном форуме по теме этого контроллера.
Hrnchamd
They will overwrite each other, the un-controlled colour is set to black
Greatness7
you need to combine the flag, not overwrite it
if you want to see ambient animated set your flag to 24
0x8 (active) + 0x10 (ambient)
(0x10 is in hex, in decimal its 16) so 8+16=24
Greatness7
in the gb docs they mention NiLightColorController can target ambient or diffuse color. Supposedly there's a flag. Does that exist in our version of the engine?
i dont see it in ssg
normally there are strings for flag names so im guessing it doesnt exist for us
Hrnchamd
Don't pay attention to AddViewerStrings, most of them are half-assed
Flags 0x10 is what you want
Greatness7
the viewerstrings were helpful in past stuff ??
but cool, ill try 0x10
Hrnchamd
0x10 = control ambient with black diffuse and specular
else control diffuse and specular with black ambient
Greatness7
i thought we had RE'd every corner of NIF stuff, but this one was never documented before!
Hrnchamd
It's not derived from NiFloatController I guess
Well, it's hard to tell
Greatness7
i dont think floatcontroller does antyhing for 0x10?
anyways just tested ingame and the flag does work
lying ssg
annoying that it sets the other to black, so you can't stack them to animate colors separately. Maybe that just doesnt make sense for this lighting model
Hrnchamd
It's not a well designed controller, a little ambient works okay
Greatness7
beth never used the controller, but it looks pretty nice
kinda wish they had done it for unequipping torches and stuf
the ambient-targeting version doesnt work with PPL anyways so we'll not be using it
Hrnchamd
It only needs the extra ambient colour parameter
Which needs to be carried through the pipeline everywhere etc. more work
Greatness7
not a high priority anyways animating the diffuse is cool enough
 
Примечание.
Отмечалось, что этим контроллером можно влиять на разные объекты.
Т.е. если указать в слота target некий другой тип объекта.
Результат будет так себе, но будет.
 
Примечание.
Если прописать в слот экстра даты (любого объекта в ниф файле)(в тестовых целях) модель будет выбрасывать редактор и игру (в КТД).
Т.е. нельзя прописывать в слот экстра даты.
 

NiMaterialColorController и NiLightColorController  в одном файле.
Впрочем, NiLightColorController  скорее просто подсвечивает объект белым цветом, чем задает дополнительный оттенок, который задан в его настройках.
Впрочем, это логично.
 
Вот так это выглядит в файле.
Target = NiSpotLight