Mantra&Arnold的MotionBlur与motionvector的匹配

关键字: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 上

示例说明:

 Mantra&Arnold的MotionBlur与motionvector的匹配_第1张图片

计算公式:

 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的匹配_第2张图片

 

 

otl使用注意事项:

关闭全局allow image motion blur 。
motion层(aov name 叫motion)里应开启merge all light in to single  channel 。  
全局motion blur    geometry  sample 为2。

Mantra&Arnold的MotionBlur与motionvector的匹配_第3张图片Mantra&Arnold的MotionBlur与motionvector的匹配_第4张图片

 

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

你可能感兴趣的:(Mantra&Arnold的MotionBlur与motionvector的匹配)