通过将海洋、摩托艇和一些热键组合在一起构成船的航行背景,您可以创建交互式摩托艇模拟场景。
选择“流体效果 > 海洋 > 创建海洋”(Fluid Effects > Ocean > Create Ocean) > 。
将出现“创建海洋”(Create Ocean)选项窗口。
打开“附加到摄影机”(Attach to Camera)和“创建预览平面”(Create Preview Plane),再单击“创建海洋”(Create Ocean)。
选择船几何体。
选择“流体效果 > 海洋 > 生成摩托艇”(Fluid Effects > Ocean > Make Motor Boats)。
Maya 使用内置表达式模拟浮力效果,以此将定位器附加到船。
选择透视摄影机(透视),然后选择编辑 > 组(Edit > Group)。此操作将创建一个组,并将透视摄影机放入该组。
在“连接编辑器”(Connection Editor)(“窗口 > 常规编辑器 > 连接编辑器”(Windows > General Editors > Connection Editor))中,请执行下列操作:
将船定位器(步骤 4 中已创建)的“平移 X”和“平移 Z”属性分别连接到变换(海洋高度场)的“平移 X”和“平移 Z”属性。
将定位器的“平移 X”和“平移 Z”属性连接到摄影机组(步骤 5 中已创建)的“平移 X”和“平移 Z”属性。
这样,将沿着海洋平面将船的移动连接到海洋,并连接到摄影机的移动。
选择船定位器,并在“属性编辑器”(Attribute Editor)中打开“附加属性”(Extra Attributes)区域。
切换到着色模式。
播放场景并调整节流阀和舵设置。
若要加快模拟速度,则可使海洋着色器中的“波湍流”(Wave Turbulence)为零,而不是增加“频率数”(Num Frequencies)。增加“波高度”(Wave Height)也可以使模拟更动态。
热键
创建以下命令的热键,并使用它们来驱动船。
停船关键帧
setAttr locator1.throttle 0 setAttr locator1.rudder 0
增加节流阀
float $t = `getAttr locator1.throttle`; setAttr locator1.throttle ($t + 0.5);
减少节流阀
float $t = `getAttr locator1.throttle`; $t -= 0.5; if( $t < 0 ) $t = 0.0; setAttr locator1.throttle $t;
左舵
float $t = `getAttr locator1.rudder`; $t += 2.0; if( $t > 20 ) $t = 20; setAttr locator1.rudder $t;
右舵
float $t = `getAttr locator1.rudder`; $t -= 2.0; if( $t < -20 ) $t = -20; setAttr locator1.rudder $t;
,