缓存
通用信息
从 CINEMA 4D R15 开始,有两种计算环境吸收的方式:
接下来的工作与辐照缓存全局光照模式类似,并且也可以用类似的设置进行控制。使用这种方式的优点:
环境吸收和 Team Render
如果 Team Render 要使用现有的环境吸收缓存,要确保这些缓存文件(在场景的“illum”文件夹中,其扩展名为 *.ao)也会被上传,并启用了后文描述的自动加载选项。
设置
不要对后文中描述的大量设置感到迷惑,因为环境吸收与辐照缓存的原理类似,大部分设置都是相同的。在大部分情况下,你只需要调节记录密度设置,这项设置相应地定义了下级参数(只有在环境吸收总是出错或者精确度不够的情况下才需要单独修改这些参数)。
环境吸收工作原理的简述:在渲染过程中,会进行一些预计算(预解算),在这期间会对工程进行分析,以此来检查摄像机中最重要的区域(角落上的“着色点”、凹面区域等)的环境可见度,然后计算环境吸收数值:
全部环境吸收数值会被缓存到环境吸收缓存中并保存为一个文件,以供之后使用。
在第二步中,选择性计算的环境吸收数值会被插值和平滑。
以下设置主要用来散布着色点(提醒:除这些设置外,基本标签页中可以设置每个着色点会在半球内生成多少取样、它们的长度和效果的颜色)。
若禁用,环境吸收会按 CINEMA 4D R15 (<R15)之前的版本中的方式运行:对每个像素计算环境可见度。若启用,会使用上文中所描述的环境吸收缓存。
这是每个着色点在半球范围内发出的采样数。如果环境吸收看上去呈斑点状,需要增大该参数值。
这两个设置在多数情况下可以忽略,它们产生的影响基本看不见。最小比率和最大比率“最差”的设置(分别都设为 -8)与“最好”(分别设为 -8 和 +4)的差别很小(见上图)。
不过,还是需要注意它们的作用:当预解算完成(在这个阶段,渲染区块起初很大,并逐渐变小),渲染密度的分布会被设定。这是一个具有适应性的过程,在关键区域会被着重强调。最小比率和最大比率之间的区别定义了预解算的数量。
将值设为 0 时结果为全尺寸分辨率(像素尺寸 1*1);将值设为 -1 时像素尺寸为 2*2,-2 = 4*4,以此类推。最小比率的数值因此应该低于或等于最大比率值。也可以使用正值,这时会在亚像素区域进行缓存(这在有些情况下很有用,如丢失细节的情况下与次多边形置换一起使用时)。
密度 [10..1000%]
最小间距 [0..1000%]
最大间距 [0..1000%]
这三项设置一起说比较好,因为它们总是共同运作,简单的说,它们定义了一般着色点在关键和非关键区域的密度:
之前描述的所有设置都是围绕着色点的分布及其计算。
环境吸收是在工程内许多地方选择性地确定的,这种选择性分布必须形成平均分布来进行渲染。平滑算法是按如下方法来实现这一点的:对于对象表面上每个要渲染的像素,要对最靠近该像素的区域进行环境吸收缓存检查,并用这些值对这个像素进行插值计算。
简单的说:太低的值会导致点状的环境吸收;太高的值会产生更多的同质化渲染(即使这解决了采样过低的问题)。一般认为,对要渲染的像素来说更高的值会考虑更多的着色点。
矛盾的是,极大的值也会导致点状结果。
若禁用,渲染的输出尺寸就与确定着色点密度无关,它会一直使用常量而不管分辨率是 80*80 还是 3000*3000。对前者来说它可能太大,而对后者来说太小。
若启用,着色点密度会关联到渲染的输出尺寸,这会让着色点密度更合适。
缓存文件
点击这个按钮会从该工程的缓存中删除所有保存的环境吸收缓存。你需要在上面提到的工程修改的情况下使用这个功能,以避免错误的结果。如果禁用了自动加载选项,你就不需要删除这个缓存了,因为缓存文件会被忽略。
按钮右侧显示了记录的数量和缓存的文件大小,也就是说,可以知道 CINEMA 4D 是否找打了被保存的正确缓存。
环境吸收缓存工作原理简述:假设在渲染时没有先前保存的缓存可用,那么必须计算新的完整缓存。这会在数次预解算中完成,这个过程会分析工程中的所有内容,在确切的缓存信息渲染为颜色之前,一些区域会被标记,它们在渲染中会受到更多的注意,等等。这会需要一些时间来完成。不过,如果已经有可用的缓存,有大量的信息仍然需要检查,但是可以通过启用跳过预解算(如果已有)选项跳过这一步,这会加速渲染。
如果没有缓存存在,则会对其进行计算而无视是否启用了这个选项。
如果已经存在缓存,但是改变了视图的角度(或对很小的图像计算了环境吸收但是现在要渲染很大的图像),建议你不要启用这个选项,因为否则可能造成错误的计算。
如果使用了自动保存选项来保存一个缓存文件,则可以启用自动加载选项来加载该缓存。如果没有缓存存在,则会计算新的缓存。
若启用,缓存文件会自动被保存。如果没有设定新保存路径,它会被保存到工程目录下的“illum”文件夹中,文件扩展名为“.ao”。如果对动画的每一帧计算了缓存(启用全动画模式),文件会被命名“filename0000x.ao”。
若启用,缓存会对动画的每一帧进行新的计算并保存为独立的文件名。若禁用,则会对整个动画使用同样的缓存(如果启用了自动保存和自动加载)。只有当动画中没有会影响环境吸收的变化时,后者才是可用的,否则会出现计算错误。如果对象位置或造型变化了,应该启用全动画模式选项。
注意,在保存缓存时,全动画模式会保存大量文件,这会需要大量内存。
缓存文件位置
如果你想要将缓存保存到一个指定的地方,启用这个选项并选择一个保存路径。