Mantra&Arnold的MotionBlur与motionvector的匹配

关键字:houdini,arnold,motion,blur,motionblur,运动模糊,匹配,mantra

渲染的时候总有些镜头需要用到两种渲染器:
【Mantra&Arnold的MotionBlur与motionvector的匹配】
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 上。Mantra&Arnold的MotionBlur与motionvector的匹配
文章图片

示例说明:
Mantra&Arnold的MotionBlur与motionvector的匹配
文章图片

计算公式:
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的一般手段)

源代码:
Mantra&Arnold的MotionBlur与motionvector的匹配
文章图片



otl使用注意事项:
关闭全局allow image motion blur 。
motion层(aov name 叫motion)里应开启merge all light in to singlechannel 。
全局motion blurgeometrysample 为2。
Mantra&Arnold的MotionBlur与motionvector的匹配
文章图片
Mantra&Arnold的MotionBlur与motionvector的匹配
文章图片


转载于:https://www.cnblogs.com/xrnds/p/10330478.html

    推荐阅读