Render.ru

mtorDirectionalLight, instances

#1
Уважаемые специалисты,

Дана модель строительного крана, состоящая из тысяч деталей, в основном instanced Nurbs-цилиндров.
Майа рендерит нормально и довольно быстро с тенями и материалами на всех частях крана.
Но вот PRman....

Хотелось бы узнать ответ на два вопроса

1) Есть ли какая-то специальная методика работы с mtorDirectionalLight для того чтобы он на определенном участке сцены отбрасывал четкие "солнечные"
тени от всех мелких деталей? может надо задавать ShaderSpace? Насколько я понимаю мтор не наследует от майского DirectionalLight параметры "Dmap Width Focus", "Use Dmap Auto Focus", "Use Light Position".. или я ошибаюсь?

2) Есть ли проблемы восприятия Мтором инстансированных объектов?
При рендере большая часть деталей выглядит черной, как будто шейдеров на них нет. Может шейдеры надо назначать как-то особенно? Я их назначал на объекты , выделенные после команды "Select Objects With Material" из HyperShad-a.

Спасибо

Алексей Гусев
 
#2
> 1) Есть ли какая-то специальная методика работы с
> mtorDirectionalLight для того чтобы он на определенном
> участке сцены отбрасывал четкие "солнечные"
> тени от всех мелких деталей? может надо задавать ShaderSpace?
> Насколько я понимаю мтор не наследует от майского
> DirectionalLight параметры "Dmap Width Focus", "Use Dmap Auto
> Focus", "Use Light Position".. или я ошибаюсь?

Я оный свет не использую, поскольку сделан он - и поставляется с MTOR - только для того, чтобы подставляться вместо стандартного майского на тот случай, если я забыл подставить свой. Да, он более-менее повторяет свойства майского - но не более того.

> 2) Есть ли проблемы восприятия Мтором инстансированных
> объектов?
> При рендере большая часть деталей выглядит черной, как будто
> шейдеров на них нет. Может шейдеры надо назначать как-то
> особенно? Я их назначал на объекты , выделенные после команды
> "Select Objects With Material" из HyperShad-a.

Нет, проблем быть не должно. Просто надо проверить, назначены ли шейдеры на всю геометрию. И, вполне возможно, если мелких делатей много - поднять разрешение shadow map. Вполне возможно, что на деталях не плохие шейдеры, а просто тени.
 
#3
> 2) Есть ли проблемы восприятия Мтором инстансированных
> объектов?
> При рендере большая часть деталей выглядит черной, как будто
> шейдеров на них нет. Может шейдеры надо назначать как-то
> особенно? Я их назначал на объекты , выделенные после команды
> "Select Objects With Material" из HyperShad-a.

Помнится мне, что проблемы с этим были.
Решалось это либо присвоением шейдера к трансформ-ноде вместо
шейп-ноды для инстанса. Либо аттач шейдера к майской SG (которая назначена инстансам) вместо поверхностей..
 
#4
Еще помогает вот что: все инстансы группируешь, а потом делаешь attach шейдера на эту группу...
 
#5
Ну это, конечно, выход если все нужен один шейдер на все инстансы.
А когда было нужно навешать разных шейдеров на кучу инстансов, то приходилось для каждого создавать группу (трансформ-ноду), а к ней аттачить свой шейдер. Оч. неспортивно :-(
 
#6
Угу :-( Приходится от инстансов держаться подальше, а жаль, штука-то полезная..
 
#7
1) Есть ли какая-то специальная методика работы с mtorDirectionalLight для того чтобы он на определенном участке сцены отбрасывал четкие "солнечные"
тени от всех мелких деталей? может надо задавать ShaderSpace? Насколько я понимаю мтор не наследует от майского DirectionalLight параметры "Dmap Width Focus", "Use Dmap Auto Focus", "Use Light Position".. или я ошибаюсь?

Не знаю, насколько это может облегчить настройку теней, но если к майскому Directional Light прилинковать mtor Coordinate System (shape которой прописать в поле Camera Name в make shadow для mtorDirectionalLight или стандартного Distant Light), то включив панель Look through selection, можно вручную с помощью scale выставить поле которое будет захватывать нужный участок геометрии и получаемая карта тени будет точно ему соответствовать.
Эдакий Dmap Manual Width Focus получается.
 
#8
У меня есть большое желание написать на будущее эдакую "мультишадоу" функцию, которая бы навешивалась на один дистант лайт, и генерила бы нужное число shadow maps, причем каждый из них должен управляться своим КоордСисом. Ротейты этих КоордСисов в майке можно законнектить на ротейты основного лайта, (чтобы они смотрели паралельно ему) и их скейлами можно было точно настраивать пределы распространения этого shadow map-a. Вместо КоордСисов кстати можно понаставить ортографических камер...
Но видать пока жареный петух не клюнет - не напишу :-(
 
#9
Спасибо всем

1) Пришлось поменять Direct на Spot, так как вариант с coordsys-ом я проверял еще до того как задать вопрос. Все равно тени - неизвестно где.

2) А вот назначать шейдера на майские шэйдинг группы - прием грамотный, mesh, спасибо за совет. Возьму на вооружение.

всем удачи
Алексей Гусев
 
#10
А можно ли узнать чем mtorDirectionalLight плох, что его нужно заменять на нечто другое (distant например?).
 
Сверху