一致对象是一种复合对象,通过将某个对象(称为“包裹器”)的顶点投影至另一个对象(称为“包裹对象”)的表面而创建。此功能还有一个空间扭曲版本,请参见一致空间扭曲。
一致对象适合于通往山表面的道路。
由于空间扭曲版本的使用要稍微简单一些,因而首先浏览其主题并完成示例,然后再回到本主题不失为一种好方法。本主题提供了更多的投影包裹器顶点的方法。
注: 通过此工具,无论对象的顶点数目为多少,都可以在任何两个对象之间进行变形。有关详细信息,请参见
“顶点投射方向”组。
过程
示例:要创建一致对象,请执行以下操作:
- 定位两个对象,其中一个为“包裹器”,另一个为“包裹对象”。(在此例中,创建一个长方体作为包裹对象,然后创建一个将其完全包裹在内的大球体。该球体即包裹器。)
- 选择包裹器对象(球体),然后在 “创建”面板上,(几何体)处于激活状态时,从下拉列表中选择“复合对象”。在“对象类型”卷展栏中,启用“一致”。
注: 一致中所使用的两个对象必须是网格对象或可以转化为网格对象的对象。如果所选的包裹器对象无效,则“一致”按钮不可用。
- 在“顶点投射方向”组中指定顶点投射的方法。(在此例中,使用“沿顶点法线”。)
注: 如果要选择“使用活动视口”,则将激活方向为顶点投射方向的视口。例如,如果在主平面上包裹器位于包裹地形的上方,则将激活“顶”视口。
- 选择“引用”、“复制”、“移动”或“实例化”,指定要对包裹对象执行的克隆类型。(在此例中,选择“实例化。)
- 单击“拾取包裹对象”,然后单击顶点要投射到其上的对象。(可以按 H 键并使用“拾取对象”对话框选择长方体。)
列表窗显示两个对象,通过将包裹器对象一致到包裹对象,从而创建复合对象。(在此例中,球体投影到长方体的形状上。)
- 使用各种参数和设置改变顶点投射方向,或调整投射的顶点。
要将道路投影到地形上,请执行以下操作:
- 创建道路和地形对象。
提示: 通过创建
面片栅格并对其应用
“噪波”修改器,可快速创建地形。对于道路,则可以通过沿曲线放样矩形来使用
放样复合对象。两个对象都必须具有足够的细节级别,才能平滑地一致。
- 确定道路和地形的方向,以便在“顶”视口中笔直地向下查看它们。确定道路的位置,以使道路完全位于地形的上方(即在世界坐标系 Z 轴上更高)。
注: 在“顶”视口中查看时,道路不应当超出地形的边界,才能正确地进行一致投射。
- 选择道路对象。
- 单击“一致”。
- 在“拾取包裹对象”卷展栏中,确保选择了“实例化”选项。
- 单击“拾取包裹对象”,然后单击地形。
将创建地形对象的实例,对象颜色与道路一样。
- 激活“顶”视口。在“参数”卷展栏 “顶点投射方向”组中,选择“使用活动视口”,然后单击“重新计算投影”。
- 在“更新”组中,启用“隐藏包裹对象”。
此操作将隐藏地形的实例,以便清楚地查看投射在其上的道路。
选择“参数”卷展栏 “包裹器参数”组 “间隔距离”值,设置道路沿世界 Z 轴距离地形的单位数量。
- 如有必要,调整“间隔距离”以提高或降低道路。
界面
“拾取包裹对象”卷展栏
- 对象
-
显示选定包裹对象的名称。
- 拾取包裹对象
-
单击此按钮,然后选择希望当前对象包裹的对象。
- 参考/复制/移动/实例
-
此选项用于指定将包裹对象转换为一致对象的方式。它可以作为引用、副本、实例或移动的对象(如果不保留原始对象)进行转换。
“参数”卷展栏
包含一致对象的所有参数。
“对象”组
提供一个列表窗和两个编辑字段,以浏览一致对象和重命名其组件。
- [列表窗口]
-
列出包裹器和包裹对象。在窗中单击以选择对象,以便能在修改器堆栈中访问对象。
- 包裹器名称
-
用于重命名一致复合对象中的包裹器对象。
- 包裹对象名称
-
用于重命名包裹对象。
“顶点投射方向”组
选择以下七个选项之一,以确定顶点的投射。
- 使用活动视口
-
远离活动视口(向内)投射顶点。
- 重新计算投影
-
重新计算活动视口的投射方向。由于方向最初是在拾取包裹对象时指定的,因此,如果要在指定后更改视口,可单击此按钮根据新的活动窗重新计算方向。
- 使用任何对象的 Z 轴
-
使用场景中任何对象的局部 Z 轴作为方向。指定对象之后,可以通过旋转方向对象来改变顶点投射的方向。
- 拾取 Z 轴对象
-
单击此按钮,然后单击要用于指示投射源方向的对象。
- 对象
-
显示方向对象的名称。
- 沿顶点法线 沿顶点法线的相反方向向内投射包裹器对象的顶点。顶点法线是通过对该顶点连接的所有面的法线求平均值所产生的向量。如果包裹器对象将包裹对象包围在内,则包裹器将呈现包裹对象的形式。
- 指向包裹器中心 朝包裹器对象的边界中心投射顶点。
- 指向包裹器轴 朝包裹器对象的原始轴心投射顶点。
- 指向包裹对象中心 朝包裹对象的边界中心投射顶点。
- 指向包裹对象轴 朝包裹对象的轴心投射顶点。
注: “指向包裹器轴”和“指向包裹对象轴”选项根据创建一致对象之前对象原始轴点的位置进行操作。创建一致对象之后,新的复合对象只具有一个轴点。
提示: 可以通过在复合对象与之前生成的原始包裹器对象的副本之间进行变形来设置一致效果的动画。不过,要这样做首先必须在“更新”组启用“隐藏包裹对象”,以使原始对象和复合对象具有相同数量的顶点。通过采用此技术,可以在两个具有不同数量顶点的对象之间进行有效的变形。
“包裹器参数”组
提供用于确定顶点投射距离的控件。
- 默认投影距离
-
包裹器对象中的顶点在未与包裹对象相交的情况下距离其原始位置的距离。
- 间隔距离
-
包裹器对象的顶点与包裹对象表面之间保持的距离。例如,如果将其设置为 5,就不会把顶点推动至离包裹对象的表面小于 5 个单位的位置。
- 使用选定顶点
-
如果启用,则仅推动选定的包裹器对象的顶点子对象。如果禁用,则忽略修改器堆栈选择而推动对象中的所有顶点。要访问包裹器对象的修改器堆栈,请在列表窗中选择包裹器对象,打开修改器堆栈并选择基础对象名称。此时,可以应用“网格选择”修改器,并选择要对之进行操作的顶点。
“更新”组
此组中的项用于确定何时重新计算复合对象的投影。由于复杂的复合对象会降低性能,因此可以使用以下选项避免常量计算。
- 始终对象将始终更新。
- 渲染时仅当渲染场景时才重新计算对象。
- 手动激活“更新”按钮,手动重新计算。
- 更新
-
重新计算投影。
- 隐藏包裹对象
-
启用该选项将隐藏包裹对象。