×
Меню
Индекс

Текстурный эффект Око Сарумяна или как следить за игроком

См. эту тему.
 
Т.е. все аналогично, только без использования МАХа.
Используем уже готовые наборы моделей, лишь добавляя к ним текстурные эффекты.
 
- либо сразу назначаем оный на целевой объект.
- пакуем этот самый текстурный эффект в билборд ноду.
Т.е. вот прям сразу и в приделах текущей ноды attach parent -> niBillboardNode (flag 72).
- оную ноду помещаем в еще одну простую niNode.
Это нужно для контроля позиции. Если смещать саму билборд ноду, это приводит к нарушениям проекции.
- изменяем позицию этой (второй) ноде согласно целям. Или не меняем...
Т.е. ставим эту ноду в центр того объекта из которого должна исходить проекция луча!
 
Таким образом можно существенно расширить действие текстурных эффектов.
Создавая не только "глаза", но "контуры" свечения на магических щитах и прочее.
Т.е. дополнительное отслеживание положение камеры игрока, позволяет эффектам работать еще интереснее!
Можно использовать не только текстурные, но и "ламповые" эффекты повертексного освещения.
 
Примечание.
В качестве особого "удовольствия" вокруг "ока сарумянова" можно поместить облако частиц.
И теперь проекция текстуры будет эффектно создавать эффект луча.
См. раздел о проекции луча в массиве частиц.
Еще см. здесь, использование Сарумянова ока для зажигания Звезд.

Примечание.
Наличие шейпа в составе билборд ноды является важным условием для правильной работы проекции эффекта!
Если в ноде есть эффект, но нет шейпа, правильность реакции на положении камеры может быть нарушена, либо не работать вовсе.
Т.е. если эффект не хочет правильно проецироваться на поверхность (массив частиц) добавьте в эту ноду простой шейп.
Геометрия шейпа не важна, но лучше использовать простую плоскость.
Можно изменить масштаб (0.1) и если шейп не должен отображаться, не забудьте установить флаг hidden (1 или 3).
Еще, обращайте внимание на радиус шейпа в его шейпдате!
Он ДОЛЖЕН БЫТЬ! И при этом, должен быть, значительным!
Т.е. размер шейпа 0.1, но радиус 100.000 и более!
И ни в коем случае нельзя жать apply, т.к. это обнулит размер до 1.0 и сбросит радуис.
Радиус - играет важную роль сообщая движку зону отображения и наложения эффекта!