c4d渲染mmd(视频通用)时摄像机自动聚焦的方法其一
双子の双子
2020年03月09日 17:50

c4d摄像机自带的自动聚焦一直都饱受诟病,其实可以利用一小段算法进行优化。


原理:算出聚焦主体和摄像头之间的距离给摄像头的焦点距离,并利用算法使环半径根据距离而改变。


1,在要聚焦的主体部分植上一根毛发(选择不渲染)。对于mmd来说主体肯定是脑袋了。

如图

鼻子上蓝色的部分就是此毛发

2,在新建天空的里面新建一个空白待用。

3,为了方便操作,将毛发的位置通过XPresso输出一个坐标值出来。

操作方法是给一个毛发的对象选取位置这一属性输出给这个空白

XPresso池图1


4,在摄像机上新建xpresso,分别托入空白(之前新建的)、摄像头的位置属性、以及渲染器的摄像头属性(焦点半径和环半径)。

原理:算出摄像头和主体之间的准确距离,众所周知,聚焦的清晰与否和对距离的准确密切相关。将准确的距离输出给摄像头的焦点距离。但是环半径需要计算一些,因为,若是用相同的环半径则可能会出现远景时可以主体可见但近景时只有屏幕中间聚焦屏幕周围散焦的情况。

所以,环半径应该通过一个算法来根据距离改变值。

XPRESSO池图2

算法如下

虽然是python语言,但是很简单的不需要编程基础就可以看明白。

在复杂的场景和频繁切镜的情况下,两个环半径的变量可能无法确保清晰了,这时候需要在算法里再加几个值了。

算法

后记:这里是redshift渲染器,其他渲染器在此方法上通用,确保渲染器的摄像头接收到焦距和环半径两个值就可以。