您可以使用 XGen 装扮森林、草原、矿场以及其他带有随机化自然元素的场景。在本示例中,使用草和树几何体填充多边形平面。此示例展示了如何:
实例化默认的归档几何体。
将 Maya Paint Effects 树导出为归档对象。
使用点贴图来确定实例化归档对象的放置。
使用 Ptex 贴图从场景中移除归档基本体。
使用表达式来改变实例化几何体的大小和方向。
重要: 开始之前,请务必设置 Maya 项目的位置。XGen 会创建大量文件(例如,Ptex 贴图文件),这些文件需要从 Maya 项目目录引用。
添加默认的归档几何体
XGen 随附了基于 Alembic 的几何体和材质文件的样例,可将这些文件添加到场景中。这些文件位于 Maya 安装目录下的 archive 文件夹内。例如:
C:\Program Files\Autodesk\Maya2015\plug-ins\xgen\presets\archives 。
提示: 在开始之前,请将 Maya 安装目录下的默认归档基本体几何体和支持文件复制到 C:\Users\username\Documents\xgen\archives 文件夹。
需要在浏览器中启用Javascript 才能观看此视频。
在本部分中,将草丛添加到植被景观。
选择要在其上实例化归档几何体的多边形网格。 在此示例中,归档对象将添加到一个雕刻多边形平面中。
选择“XGen > 创建描述”(XGen > Create Description) 。
在“XGen” 窗口中,键入“描述”(Description) 和“集合”(Collection) 名称。
通过设置下列内容,创建归档基本体描述: “此描述将生成什么类型的基本体?”(What kind of Primitives are made by this Description?) 设置为“自定义几何体/归档文件(用于已创建的任何模型)”(Custom Geometry/Archives (use for any model you have created)) 。
“生成基本体”(Generate the Primitives) 设置为“随机横跨曲面”(Randomly across the surface) 。
“基本体的控制方式”(Control the Primitives by) 设置为“放置和成形导向”(Placing and shaping Guides) 。
单击“创建”(Create) 。 网格现已绑定到描述。使用“添加或移动导向”(Add or Move Guides) 工具将导向放置在网格曲面上。
在 XGen 工具栏上,单击图标 以选择“添加或移动导向”(Add or Move Guides) 工具。
单击网格上的区域以放置导向。
归档基本体的导向在网格上显示为橙色立方体。现在,您可以指定要在网格上实例化的归档几何体。
单击“基本体”(Primitives) 选项卡,然后滚动到“归档文件”(Archive Files) 部分。
单击“添加”(Add) ,然后浏览到 archives 文件夹的位置。 例如:
C:\Program Files\Autodesk\Maya2015\plug-ins\xgen\presets\archives
或
C:\Users\username\Documents\xgen\archives .
选择 GrassClump1.xarc ,然后单击“是”(Yes) 以添加支持材质文件。 草丛几何体的预览将显示在场景中。请注意,在“归档文件”(Archive Files) 部分中,缩略图表示草丛几何体。
设置几何体的大小和密度
在此示例中,草丛的大小对于此场景比例来讲太大。可以使用“大小”(Size) 属性缩放几何体,然后通过设定“密度”(Density) 增加草丛的数量。
需要在浏览器中启用Javascript 才能观看此视频。
若要缩放草丛,请在“归档文件”(Archive Files) 部分中,将“大小”(Size) 设置为 2.5。 增加“大小”(Size) 值会减小几何体的比例。
若要增加草丛的数量,请在“生成器属性”(Generator Attributes) 部分中,将“密度”(Density) 设置为 6.5 到 8 之间的值。 在该场景中,所有草丛的大小相同,这使它们看起来很不自然。一种改变其大小的简单方法为重新缩放导向。
在该场景中,选择几个导向,然后使用“缩放工具”(Scale Tool) 调整其大小。 预览描述时,请注意这些草丛的大小变化。每个基本体的大小现在是不同大小导向的插值。
在本示例中,稍后可以使用表达式来更好地随机设定基本体的大小和方向。
单击 图标以关闭导向显示。
从指定区域移除实例化的几何体
在景观场景中,许多草丛显示在岩层顶部。您可以绘制基于 Ptex 的“密度”(Density) “遮罩”(Mask) ,以避免在这些区域生成草丛。
请参见使用 Ptex 贴图控制基本体 。
需要在浏览器中启用Javascript 才能观看此视频。
在“生成器属性”(Generator Attributes) 部分中,单击“遮罩”(Mask) 旁边的 图标,然后从显示的菜单中选择“创建贴图”(Create Map) 。
在“创建贴图”(Create Map) 窗口中,键入贴图的名称,例如 mask_GrassClumps 。
进行下列设定:
在“工具设置”(Tool Settings) 窗口中,设定下列内容: 在“Artisan” 旁边,选择边缘清晰的笔刷。
在“颜色”(Color) 部分中,单击颜色样例并选择黑色。
在“绘制操作”(Paint Operations) 部分中,将“混合模式”(Blend Mode) 设置为“默认”(Default) 。
在“光笔压力”(Stylus Pressure) 部分中,关闭“光笔压力”(Stylus Pressure) 。
注: 如果
“3D 绘制工具”(3D Paint Tool) 窗口未显示,请在工具箱中单击图标
以将其打开。
使用“3D 绘制工具”(3D Paint Tool) 绘制您不希望生成草丛的网格区域。
单击 图标以保存 Ptex 贴图。
预览描述。 这样,该景观的岩石地形区域就不会再生成草丛。
将 Paint Effects 树导出为归档几何体
在此部分中,Maya Paint Effects 树将转化为自定义归档几何体,然后添加到该场景中。
将 Paint Effects 树作为归档对象导出前,必须将其转化为几何体(“修改 > 转化 > Paint Effects 到多边形”(Modify > Convert > Paint Effects to Polygons) )。
选择几何体,然后从 Maya 菜单中选择“XGen > 将当前选择项导出为归档”(XGen > Export Selection as Archive) 。
在“将当前选择项导出为归档”(Export Selection as Archive) 窗口中,设置下列内容: 将“目标文件夹”(Destination Folder) 设置为“用户归档文件 ($){HOME}/xgen/archives)” (User Archives ($){HOME}/xgen/archives))。 Maya 会将归档文件保存到位于用户目录中的 xgen 文件夹。例如:
C:\Users\username\Documents\xgen\archives
如果您将默认的归档文件复制到此文件夹(如此工作流程示例起始处所述),则所有归档文件将位于相同的位置。
键入文件的“归档文件名”(Archive Name) ,例如 PE_Tree 。 Maya 将针对为归档生成的所有文件使用此名称。
将“细节级别”(Level of Detail) 设置为“已禁用”(Disabled) 。
单击“导出”(Export) 。
Maya 将为 Paint Effects 树生成自定义归档文件。
有关归档文件的信息,请参见自定义归档基本体 。
在接下来的部分中,将使用“指定点工具”(Specify Points Tool) 在场景中放置几何体。
使用“指定点”(Specify Points) 工具添加几何体。
您可以使用“指定点”(Specify Points) 工具将几何体添加到网格上的指定位置。此工具可以精确地将几何体放置到相应的位置,而不是依靠导向插值来定位归档基本体。
使用以下设置创建新的描述: “此描述将生成什么类型的基本体?”(What kind of Primitives are made by this Description?) ,设置为“自定义几何体/归档文件”(Custom Geometry/Archives) 。
“生成基本体”(Generate the Primitives) ,设置为“在指定的点”(At points you specify) 。
单击“创建”(Create) 。
单击“基本体”(Primitives) 选项卡。
在“生成器属性”(Generator Attributes) 部分中,单击“指定点”(Specify Points) 。 然后将显示“指定点工具”(Specify Points Tool) 窗口,且光标会变为点工具。
单击网格上要在其中生成树的区域。 黄色指示器标记了这些位置。
注: 若要删除点,请按住
键并单击该点。
在“指定点工具”(Specify Points Tool) 窗口中,单击“保存并关闭”(Save & Close) 。 将为指定的位置保存点贴图。
然后选择归档的 Paint Effects 树。
滚动到“归档文件”(Archive Files) 部分,然后单击“添加”(Add) 。
浏览到存储 Paint Effects 树归档文件的归档位置。
“XGen 导入材质”(XGen Import Material) 窗口出现后,单击“是”(Yes) 以导入与树几何体关联的材质文件。 树几何体将会显示在点位置。根据场景的缩放比例,可能需要调整归档几何体的大小。
在“归档文件”(Archive Files) 部分,调整“大小”(Size) 来缩放树。
请注意,所有树都有相同的大小和形状。在下一部分中,将创建表达式为树的大小和方向随机生成值。
使用表达式改变实例化几何体的大小、形状和方向
您可以使用表达式来实现几何体的大小、形状和方向的随机化。这样,就可以多次实例化同一几何体,但每个实例在场景中的显示都不相同。
一种改变实例化几何体的简单方法是使用随机化表达式。
将随机化添加到“扭曲”(Twist) 属性
在“基本体属性”(Primitive Attributes) 部分,单击“扭曲”(Twist) 旁边的 图标。
在“XGen 表达式编辑器”(XGen Expression Editor) 中,键入以下表达式:rand(0,360) 。
单击“接受”(Accept) 。 每棵树现在都有其独特的“扭曲”(Twist) 值。
使用集合表达式生成变化
另一种生成随机化的方式是创建集合表达式。此类型的表达式可以应用于集合中所有描述的不同基本体属性值。
在此示例中,可以使用集合表达式来创建具有滑块控件的自定义 XGen 属性。使用该滑块控件,可以生成随机化的值,并应用于“长度”(Length) 、“宽度”(Width) 、“深度”(Depth) 和“扭曲”(Twist) 等属性。
在“XGen” 窗口中,单击“表达式”(Expressions) 选项卡。
在“名称”(Name) 旁边,键入自定义表达式的名称,例如 randomizer 。 由于此表达式使用浮点值,因此将其设置保留为“浮点型”(Float) 。
单击 图标以创建该属性。
单击属性旁边的 图标。
在“XGen 表达式编辑器”(XGen Expression Editor) 中,键入:
$a=;
这将会为该属性创建一个滑块控件。
在下一行键入以下表达式: $a*rand(0.1, 3.0) 。
单击“接受”(Accept) 。 在该表达式中,滑块的值会乘以一个随机函数。现在,可以将基本体属性设置为使用该表达式生成的随机化值。
单击“基本体”(Primitives) 选项卡,再单击“长度”(Length) 旁边的 图标。
清除显示在“XGen 表达式编辑器”(XGen Expression Editor) 中的内容,然后键入自定义属性名称,后跟 () ,例如 randomizer() 。单击“接受”(Accept) 。 现在,会根据自定义属性滑块设置随机生成指定给长度的值。
针对“宽度”(Width) 、“深度”(Depth) 和“扭曲”(Twist) 重复上面的步骤。
单击“表达式”(Expressions) 选项卡,然后使用自定义属性滑块生成合适的值。 也可以使用 randomizer() 表达式来改变场景中草丛的大小和方向。