影视动画渲染
为影视行业提供澎湃算力
By:Felipe Marceu 在Houdini中制作程序性红色岩石峡谷(上)
纹理由某些层混合控制,这些层混合在先前在COP中创建的蒙版之后添加了新的材料层,最后以我链接到环境链中的材料节点的空值结束(我将在下面进行描述)。
咒语分层材质设置
创建这些地图后,我们可以为主要地形着色。
在Heightfield_out节点之后,我放置了一个能见度节点以关闭主要地形,但保持Heightfield属性及其图层,然后应用Heightfield散布节点,以灌木,小树,地面丝兰和一些草填充场景。该工作流包括一些基于不同HF层的HF散射作为标签。我在SpeedTree中制作了一些常见的植物,但是使用了Houdini中打包的低聚版本来优化内存。之后,我创建了一些材质节点,并使用了从HF散布中获取的标签来应用植物的材质。为了能够毫无问题地应用着色器,我将tag属性提升为基本属性,并选中了Create style sheet属性选项。
我在HF链的末尾添加了一个分支,以将“沙漠高度场”转换为几何体,对其进行优化,并删除多余的参数,从而进一步优化。然后,我将其与植被散布合并,并使用相同的方法,将材质节点应用于已转换和优化的环境。
最后,我将其与按程序生成的树合并(如下所述),使用相同的材质节点方法应用材质,最后完删除未使用的几何并节省更多内存。
将整个Houdini过程分解为最终输出
山脉的第二个平面是使用与第一个地形相同的方法创建的。最初,我想使用Houdini中的动画渲染程序云设备创建天空,但是出于优化目的,我在后期制作中插入了一块免费的HDR板。
约书亚树(丝兰)
约书亚树是一种丝兰植物。其重复的形状和形式非常适合Houdini的程序工作流程。让我们来看看我是如何构建的。
本文有点技术性,但是如果你对Houdini有一定的了解,希望你可以重现它而不会出现重大问题。我创建了一行,然后创建了一个名为pscale的属性(Houdini中的本机属性)。为了沿线具有不同的点大小,我创建了一个属性VOP,该属性采用p并将其拆分为浮点数。在YI中,创建了一个渐变并将此值使用名为pscale的绑定导出添加到pscale中。我使用了一条扫掠节点,该扫掠节点的直线(以x表示)具有以下参数ch(“ dist”)/ -2,以使直线居中于第一个直线点。扫掠节点生成叶子的几何形状。我投影了UV并进行了两次弯曲以使叶子接近参考。
为了像在参考文献中那样生成圆锥形的叶子组,我创建了4个组,它们的圆和法线在p处相连。我创建了一个“针对每个”节点结构,该结构将叶子复制到具有折弯节点的这些点,在该节点中,bend属性引用到“针对每个”循环的迭代元数据。在这四个组中的每一个中,我均以模式缩放圆,以创建更近的点并制作更窄的圆锥形叶子组。之后,我将它们全部合并。
要制作干燥的主叶片,我遵循相同的步骤,但是叶片弯曲较多,叶片组较少,法线指向下方。
要创建树干干叶,首先,我创建了树干,并使用两个弯曲节点制作了S形的树干。之后,我添加了一个变换节点,以一种愉悦的方式旋转躯干。我使用了在叶子上演示的相同pscale技术来制作树干,并使其沿途变窄,将多线节点与线径连接,而该线径又与之前创建的pscale属性相连。
为了给主干做一个美观的圆形端部,我制作了一个组,隔离了主干线的上端点,创建了颜色属性,并将其转移到多线点。通过该属性,我在那些多线端点处添加了一个多锥斜角节点(如果愿意,可以通过非过程方式实现)并打开UV。
现在,回到树干已经干了的叶子,已经创建了树干,我采用了原始的树干线,并通过范围节点(称为中点和端点)创建了两组。我将中点和端点组与一个组合并节点合并,并为此新组创建了颜色。在那之后,我将属性颜色转移到了我想要有白色叶子的区域。然后,我按颜色进行散点图,删除白色区域之外的其余点,并生成自定义法线以指向躯干的外部。最后,我将叶子从叶子生成器复制到分散的点,并复制到点节点,并使用树干作为对撞机进行牛皮纸模拟,将结果缓存。
烘焙完树的所有这些不同部分之后,我将它们导入了一个文件节点,使用材质节点对不同部分进行着色,为树的每个部分创建了原理性着色器,并添加了一个变换节点来移动和旋转整个树,甚至将更多副本放置在不同的变换节点上,并将其与沙漠场景合并。
注意:约书亚树的Lookdev和纹理是在Substance Painter中完成的。
约书亚树过程建模的细分
我的才华横溢的朋友路易斯·贝纳西(Luiz Benassi)在Nuke进行了出色的合成工作(译者注:Renderbus渲染农场支持Nuke云渲染)。
核合成过程的分解
需要保持场景井井有条,组织工作流程是在使用CGI(尤其是在像Houdini这样的更技术性的软件)中需要讨论的事情。当我开始在Houdini工作时,我很容易迷路。对于大多数项目,你将使用许多节点链,导入和导出数据,在子网内以及在另一个网络内更改此数据。注意要重命名这些通用节点,在未来做修改的时候无需再次遍历不同节点的链。
最后的想法
重要信息:由于Houdini对于更高级的场景和模拟的建议是64 GB的Ram或更多内存,因此较少的内存可能会导致系统不稳定。但是完成简单的项目不会出现问题。
如果你有足够的预算,我强烈建议使用128 GB或更多的主板(如果你的主板允许的话)。并使用Linux而不是Windows,因为Linux在Houdini中具有更好的内存管理功能。在每个项目中可以做的另一件事是删除过程中生成的多余的属性和组,这些多余的属性和组不再需要以节省高速缓存中的内存和磁盘空间。