Как заменить партиклы в емиттере на источники света, чтобы у источников света цвет менялся в зависимости от расстояния до выбранного объекта?
Нужно еще, чтобы volumetric color у источников света тоже менялся по этому же градиенту.
Поидеи настраиваем один источник света, т.е. выражение ему пицем или скриптом, но чтобы менялся как надо. Если скриптом, то можно сделать выбор нужного объекта через меню. Чтобы потом перенастроиь некоторые из источников на другие объекты если надо (перенастроить можно и выражение, но менее убодно). Потом пилинковать через линкер... Не помню линкуется свет на прямую, но должен.. С объемным светом тоже. Настраиваем этот цвет через текстурный градиент... (до клонирования конечно) 🙂
Пока что у меня ничего не получилось с экпрешенами. Я делаю экспрешен для позиции X света:
MyLightX
Value
То есть этот экпрешен не изменяет позицию X света
Потом делаю второй экпрешен, связанный с интенсивностью:
MyLightIntensity
Value=sin([MyLightX])
Интенсивность должна меняться по синусу.
Но ничего не меняется.
Нам надо чтобы источник света менял свою интенсивность в зависимости от растояния до некоторого объекта.
Тогда делаем интенсивности источника следующее выражение:
[ObjectName.Position.X]
Это самый простой вараинт, добавляем арифметические операции для маштабирования, функции для других эфектов получаем нужный результат.
Только не забывай про маштабы. 1 мерт - 100% интенсивности, а когда оперируешь sin и cos то они имеют период 2*Pi, т.е. около 6...
(здесь для расстояния по координате X, если надо растояние, то вычисляем по формуле sqrt(x*x+y*y+z*z)).
В общем все получается, кроме нормального клонирование по партиклам в 7.5... 🙁 Не хочет автоматически переименовывать выражения... Что есть плохо...
Надо подумать...
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Sergey Shevelev
Нужно еще, чтобы volumetric color у источников света тоже менялся по этому же градиенту.
Гость
Sergey Shevelev
MyLightX
Value
То есть этот экпрешен не изменяет позицию X света
Потом делаю второй экпрешен, связанный с интенсивностью:
MyLightIntensity
Value=sin([MyLightX])
Интенсивность должна меняться по синусу.
Но ничего не меняется.
Sergey Shevelev
Гость
Тогда делаем интенсивности источника следующее выражение:
[ObjectName.Position.X]
Это самый простой вараинт, добавляем арифметические операции для маштабирования, функции для других эфектов получаем нужный результат.
Только не забывай про маштабы. 1 мерт - 100% интенсивности, а когда оперируешь sin и cos то они имеют период 2*Pi, т.е. около 6...
(здесь для расстояния по координате X, если надо растояние, то вычисляем по формуле sqrt(x*x+y*y+z*z)).
Гость
Надо подумать...
Sergey Shevelev
Гость