Render.ru

Редактирование нормалей объекта.

#1
САБЖ
Хочу редактировать нормали объекта как мне вздумается. Знаю, что есть vодификатор Edit Normals, итам можно руками крутить как угодно, но эффекта нет от этого, модификатор словно игнорируется.
Проверить это легко - после Edit Normals кладем обычный Edit poly и экструдим полики по нормалям - никаких изменений, что есть Edit Normal, что нет...

Пробовал скриптом решить проблему:
Код:
obj = plane ()
convertToMesh obj
for v = obj.numVerts to 1 by -1 do
(
	getNormal obj v
	setNormal obj v [1,0,0] -- set user normal direction
)
update obj
эффекта тоже никакого!

Как можно решить данную проблему?
Всем заранее спасибо ))
 

lis-220

Мастер
Рейтинг
173
#2
а что именно должно получиться?
ведь edit normal это не изменение положение в пространстве ,а направление векторов этих полигонов.
и видно эти изменения будет только при рендере.
Вроде так.
 

Вложения

#3
а что именно должно получиться?
ведь edit normal это не изменение положение в пространстве ,а направление векторов этих полигонов.
и видно эти изменения будет только при рендере.
Вроде так.
Что именно должно получиться: мне нужно эмитить партиклы (или флюиды) с поверхности по направлению нормалей этой поверхности.
По умолчанию нормали всегда перпендикулярны полигону - я хочу отклонить это направление, изменить нормали, ориентации полигона самого это вообще никак не касается. Однако эффект наблюдается только на шейдинге (как показано на твоем примере). В качестве проверки, есть ли эффект на геометрическом уровне, я делаю экструд по нормалям - наблюдается полное игнорирование редактирования нормалей....
собсно, вот в чем вопрос )
 

McArin

Активный участник
Рейтинг
8
#4
Все правильно. так оно и не получится.
Модификатор Edit normal редактирует нормали вершин. именно они учитываются при рендере сглаженных поверхностей.
а когда речь идет о выдавливании полигонов или генерации частиц программа работает с перпендикулярами к полигонам, что в геометрической терминологии тоже называется нормалью.

выход здесь только один. создавать сглаженную высокоплигональную модель имитера. MeshSmooth или turbosmooth наверно помогут, но тормозить скорее всего будет беспощадно.
 
Сверху