关键字:houdini,arnold,motion,blur,motionblur,运动模糊,匹配,mantra
渲染的时候总有些镜头需要用到两种渲染器:
1.怎么渲染才能让mantra和arnold渲染的运动模糊保持一致?
2.后期运动模糊两个渲染器出的motion vector怎么保持一致?
3.渲染运动模糊层的时候渲染采样的时间点怎么匹配?
4.怎么保证出两个渲染器的motion层大小方向统一?
两个渲染器Motion Vector 对应:
Mantra全局的shutter offset为1时对应Arnold camera的shutter start和end为0,Arnold全局的start为0,end为shutter time
Mantra全局的shutter offset为0时对应Arnold的shutter start和end为-0.5*shutter time,Arnold的全局start为-0.5*shutter time ,end为0.5*shutter time
Mantra全局的shutter offset为-1时对应Arnold的shutter start和end为-1*shutter time,Arnold全局 start为-1*shutter time ,end为0
输出运动层时key值都应该为2 ,指定arnold全局运动模糊的方式用custom
只要是渲染运动向量,两个渲染器都是停止在start 0 上。
示例说明:
计算公式:
arnold和houdini帧静止的时间位置Ptime=shutter start
strat=-0.5*shutter time+0.5*offset*shutter time
end=0.5*shutter time+0.5*offset*shutter time
即开始与结束时间se=center的se+0.5*offset*shutter timese是start和end的意思,center的se是【-0.5*shutter time,0.5*shutter time】
Arnold全局面板的Ignore Motion Blur不是用来渲染motion 通道的 —no reason
直接渲染运动模糊arnold的camera shutter start和end只要和全局的start和end匹配即可,其他不变
群里提供的otl计算的运动模糊是我个人猜测arnold的计算方式写的方法 ,有需要的可以去下载
后期运动模糊motion vector匹配:
Arnold的motion vector 输出不能使用ignore motion blur来实现,这个东西就是debug用的,正确姿势是去相机上设置shutter start和shutter end设置为同一个值,全局的shutter time仍然起作用,他控制着motion vector 的亮度也就是大小。
要让mantra能输出arnold一样的motion vector 向量,这里做了一个灯光节点(群里有下载),下面会有源代码,可以自己研究一下。做成灯光是为了方便给很多物体输出aov(只要灯光照亮的物体就会输出aov,renderman的一般手段)
源代码:
otl使用注意事项:
关闭全局allow image motion blur 。
motion层(aov name 叫motion)里应开启merge all light in to single channel 。
全局motion blur geometry sample 为2。
来源:oschina
链接:https://my.oschina.net/u/4413093/blog/3661887