由于光照估计的研究常常涉及渲染,且渲染多用的是blender物理引擎,我在这个过程中积累了一些常用到的做法,特开贴记录以备翻阅。
物体与世界
通常物体被放置到世界中后,会有个自带的“原点”。这个原点不是世界的原点,是物体自己的原点,即物体坐标系的原点。假如不对物体的原点进行修改,物体中所有的点与这个“原点”之间的相对关系就都是固定的,可以把物体与它的原点看成一个刚体。
物体在世界中的“位置”“旋转”等“变换”属性,实际上就是物体坐标系在世界坐标系中的位置和朝向。世界是统一的世界,是唯一的世界,即无论有多少个物体坐标系,无论物体坐标系之间的关系多么复杂,最后我们只看这些物体在世界中的位置。
虽然物体的“位置”“旋转”都必须是相对世界坐标系而言的,但是针对物体的“旋转”“缩放”“平移”等手动变换却有多种参考系。例如,选择“全局”的变换坐标系时,旋转轴就是世界坐标系的坐标轴;而选择“局部”时,旋转轴是物体本身坐标系的轴。
物体原点修改
物体原点通常是它的几何中心,但可以调整。这种调整意味着在物体坐标系内部对物体的变换。
选中物体之后,菜单中“物体 - 设置原点 - 几何中心->原点”,这是把物体的几何中心移动到原点位置。假如原本物体的几何中心不在物体原点处,这样做相当于实际上挪动了物体,但由于物体的坐标是物体原点在世界中的位置,因此物体的位置、旋转等信息不会变。
相反,也可以把原点挪到几何中心。这样实际上物体丝毫未动,但是它的原点在世界中的位置变了,因而显示的位置信息会变。
以上两种都是把原点和几何中心进行归位。假如不希望物体的几何中心正好是物体的原点,也可以先放置一个游标到几何中心以外的位置,然后“物体 - 设置原点 - 原点->3D游标”。这是一种非常巧妙的做法。想让物体绕着世界原点旋转,可以先切换到游标模式,按”shift C”把游标放置到世界原点,然后用上述方法把物体的原点设置为游标。这样,就把物体的原点扯出物体了,直接调整物体的旋转值就可以让物体绕世界原点旋转。
驱动器
假如希望两个物体做相同的旋转运动呢?例如我把一只小猫放到一个圆盘上,并且希望它们在旋转过程中相对关系不变,就好像它们本来就是一个整体一样。
这时候可以先把两个物体的原点都设置成世界原点,然后右击圆盘的旋转值,选择“复制为新驱动器”。然后右击小猫的旋转值,“粘贴驱动器”。这以后,小猫的旋转值将与圆盘保持一致。
空物体
在设置动画渲染的时候,通常需要设置一些关键帧,非关键帧的值根据关键帧插值得到。但是关键帧只能在物体的位置、旋转等属性上设置,无法设置在光照贴图的旋转上。因为光照贴图不是物体,更像某种纹理。
此时可以在视野之外放置一个空物体,把想给光照贴图的旋转量先设到空物体上,并设置动画关键帧。然后,用空物体的旋转量去驱动光照贴图的旋转量,这个问题就解决了。
渲染
渲染可以是图片的渲染或动画的渲染。图片是动画的特例,即1帧的动画。
在输出属性里,可以设置输出的帧范围以及格式。例如帧都设置成0到60,输出设置为图片时,就输出61张图片;输出设定为视频,则不会输出图片,会输出一个帧数动态增加的视频。
后处理
blender的渲染就是单纯渲染世界。“合成”和“序列编辑器”是它支持的两种渲染之后的后处理,可在“输出属性”里酌情勾选。在“合成”里可以对渲染出的图片进行编辑,例如给其设置背景图。“序列编辑器”则可以给输出的视频增加音乐等。