咨询电话:400-810-1418服务与监督电话:400-006-6572

RenderMan渲染器中的烘焙全流程

发布时间:2018-11-17 19:57:24

为了获得最佳效果,烘焙应遵循比较规范的工作流程。就像在厨房进行烘焙一样,我们需要收集工具和原料,让我们先从烘焙摄像机、切割属性开始,然后加入遮光率和分辨率。

 
常规烘焙工作流程

将昂贵的算法烘焙到砖形的纹理贴图中是一款非常强大的工具,如果得到正确使用,就能简化渲染,并使渲染更有效。首先熟悉一下点云和砖形的纹理贴图。从这里我们就可以开始谈论一般的烘焙策略和属性,有时很复杂,会影响最终的烘焙质量。
 
烘焙摄像机


我们对于REYES算法的讨论中,有很多概念在烘焙过程中都是很重要的。谨记在REYES算法中,当拆分镜头时, 视见体之外的所有事物被去除。这也就意味着,当烘焙整体效果像遮光了一样(这是由最终渲染摄像机外的几何图形影响的)时,通常你会希望通过一台拥有更广阔视角的摄像机来渲染你的烘焙。这就是“烘焙摄像机”的概念。你可以从场景中的任意摄像机进行烘焙,但设置烘焙时,你还需要注意一些事情:

你所需要烘焙的场景大小

无论是想烘焙一个场景中的所有事物,还是单独烘焙一个事物,接下来要使用ptfilter.exe等离线计算遮光等。

有时候场景太大而不能进行有效烘焙(如通过城市峡谷的一个长途飞行)。在这种情况下,渲染起来就更容易,不需要烘焙,而是单独计算每帧遮光。

当选择烘焙场景时,应注意几个可能会产生烘焙工件的选项。诊断渲染问题的最好方法是打开点云文件,看一下RenderMan是如何将该场景分块处理。
 
属性和工件

记住我们对REYES的探讨,我们对几何形状处理后,会发生一些事情来提高RenderMan对最终镜头的渲染效率,而不是烘焙效果:剔除了背面和隐藏面。对渲染速度来说,这非常棒(大多数情况下都很合意),但是当我们为了重新利用对象而进行烘焙时,它可能从其他角度可见,所以我们需要禁用这些剔除属性。这里有一些图像和电影,可以帮助诊断渲染中的问题。
 
遮光率和分辨率


你可能想要增加烘焙密度来捕捉当前相机设置中未捕获的高频细节。我们可以通过两种方法来增加我们的点云密度:下调遮光率(增加图像中阴影样本数),或者增加图像的分辨率(在当前遮光率下遮蔽更多像素)。谨记点云的每个点都是直接与微多边形的阴影相关的。所以说,渲染越大,创建的点云越大就变得有意义了,或者说,遮光率越低(阴影样本间空隙更小)同样也会增加写入点的数量。如果你有一个遮光率为5,像素分辨率为640×480的图像,你就可以通过将分辨率改为1280×960,将遮光率设为10来达到同样的点密度。如果遮光率或分辨率太低,你最后的砖形的纹理贴图将受到影响。
 
背面剔除

通常情况下,当你面对的是一个有很多固体物体的大型场景时,你就不会介意物体背面是否被渲染器隐藏。但当来自多视图的烘焙数据需要重新运用,或一些有助于基于点的色溢或遮光的数据需要重新运用时,你就需要确保渲染器没有将其剔除。如果剔除了,没有对效果做出贡献的剔除面就会产生错误。如果绕着一个已经剔除背面的物体飞,你会注意到有一块黑色区域,在这个区域中是没有几何体的。
 
剔除隐藏  
          
可能你确定物体不是背面,但对当前摄像机视角仍不可见。如上面提到的,烘焙时,这些面都应有助于基于点的色溢和遮光。在这种情况下,这个选项应该被禁用。
 
Dice Rasterorient

有时你可能希望物体的切割要根据它们在屏幕上所占空间的数量进行,使特写物体可以得到大量切割,但由于透视问题 ,远处的物体切割就比较少。这非常有效,而且自动减少了在屏幕上占取较少视觉空间的物体的几何复杂性。这样可以节省时间,文件也更小(他们的点较少)。不幸的是,这种“光栅导向”的切割在烘焙物体时,并不总是适用。如果你将切割相机设置为从上面烘焙场景,所有垂直面占用很少的屏幕空间,导致采样就很稀疏。要独立切割摄像机视图,请确保Dice Rasterorient被禁用。


在上图中,圆柱体的顶端是光栅导向切割烘焙的。在圆柱体底部切割中,该属性被禁用,注意为了更均衡,进行“单视图”切割。