第3章对象的变换
3ds max 提供了许多工具,而并不是在每个场景的工作中都要使用所有的工具。但是基本上在每个场景的工作中都要移动、旋转和缩放对象。完成这些功能的基本工具称之为变换。当变换的时候,还需要理解变换中使用的变换坐标系、变换轴和变换中心,还要经常使用捕捉功能。另外,在进行变换的时候还经常需要复制对象。因此,本章还要讨论与变换相关的一些功能,例如复制、阵列复制、镜像和对齐等。
3.1 变换(Transform)
可以使用变换移动、旋转和缩放对象。要进行变换,可以从主工具栏上访问变换工具,也可以使用快捷菜单访问变换工具。主工具栏上的变换工具如下:
Select and Move 选择并移动
Select and Rotate 选择并旋转
Select and Uniform Scale 选择并等比例缩放
Select and Non-uniform Scale 选择并不等比例缩放
Select and Squash 选择并挤压变形
3.1.1 变换轴
选择对象后,每个对象上都显示一个有3个轴的坐标系的图标,见图3.1。坐标系的原点就是轴心点。每个坐标系上有三个箭头,分别标记X、Y和Z,代表3个坐标轴。被创建的对象将自动显示坐标系。
当选择变换工具后,坐标系将变成变换Gizmo,图3.2、图3.3和图3.4分别是移动、旋转和缩放的Gizmo。
图3.1 图3.2
图3.3 图3.4
3.1.2 变换的键盘输入
有时需要通过键盘输入而不是通过鼠标操作来调整数值。3ds max支持许多键盘输入功能,包括使用键盘输入给出对象在场景中的准确位置,使用键盘输入给出具体的参数数值等等。可以使用Move Transform Type-In对话框(见图3.5)进行变换数值的输入。可以通过在主工具栏的变换工具上单击鼠标右键来访问Move Transform Type-In对话框,也可以直接使用状态栏中的键盘输入区域。
图3.5
说明:要显示Move Transform Type-In对话框,必须首先单击变换工具,激活它,然后再在激活的变换工具上单击鼠标右键。
Move Transform Type-In对话框由两个数字栏组成。一栏是Absolute: World,另外一栏是Offset: Screen。(如果选择的视图不同,可能有不同的显示)下面的数字是被变换对象在世界坐标系中的准确位置,键入新的数值后,将使对象移动到该数值指定的位置。例如,如果在Move Transform Type-In对话框的Absolute: World下面分别给X、Y和Z键入数值0、0、40,那么对象将移动到世界坐标系中的0、0、40处。
在Offset: Screen一栏中键入数值将相对于对象的当前位置、旋转角度和缩放比例变换对象。例如,在Offset一栏中分别给X、Y和Z键入数值0、0、40,那么将把对象沿着Z轴移动40个单位。
Move Transform Type-In对话框是非模式对话框,这就意味着当执行其它操作的时候,对话框仍然可以被保留在屏幕上。
也可以在状态栏中通过键盘输入数值(见图3.6)。它的功能类似于Move Transform Type-In对话框,只是需要通过一个按钮来切换绝对(Absolute)和偏移(Offset)。
绝对变换状态
偏移变换状态
图3.6
3.4 变换坐标系
在每个视口的左下角有一个由红、绿和蓝3个轴组成的坐标系图标。这个可视化的图标代表的是3ds max 6的世界坐标系(World Reference Coordinate System)。三维视口(摄像机视口、用户视口、透视视口和灯光视口)中的所有对象都使用世界坐标系。
下面就来介绍如何改变坐标系,并讨论各个坐标系的特征。
3.4.1 改变坐标系
通过在主工具栏中单击参考坐标系按钮,然后在下拉式列表中选取一个坐标系(见图3.7)可以改变变换中使用的坐标系。
当选择了一个对象后,选择坐标系的轴将出现在对象的轴心点或者中心位置。在默认状态下,使用坐标系是视图(View)坐标系。为了理解各个坐标系的作用原理,必须首先了解世界坐标系。
3.4.2 世界坐标系
世界坐标系的图标总是显示在每个视口的左下角。如果在变换时想使用这个坐标系,那么可以从Reference Coordinate System(参考坐标系)列表中选取它。
当选取了世界坐标系后,每个选择对象的轴显示的是世界坐标系的轴,见图3.8。
可以使用这些轴来移动、旋转和缩放对象。
图3.7 图3.8
3.4.3 屏幕坐标系
当参考坐标系被设置为屏幕坐标系(Screen)的时候,每次激活不同的视口,对象的坐标系就发生改变。不论激活哪个视口,X轴总是水平指向视口的右边,Y轴总是垂直指向视口的上面。这意味着在激活的视口中,变换的XY平面总是面向用户。
在诸如前视口、顶视口和左视口等正交视口中,使用屏幕坐标系是非常方便的。但是在透视视口或者其它三维视口中,使用屏幕坐标系就会出现问题。由于XY平面总是与视口平行,会使变换的结果不可预测。
视图坐标系可以解决在屏幕坐标系中所遇到的问题。
3.4.4 视图坐标系
视图坐标系是世界坐标系和屏幕坐标系的混合体。在正交视口,视图坐标系与屏幕坐标系一样,而在透视视口或者其它三维视口,视图坐标系与世界坐标系一致。
视图坐标系结合了屏幕坐标系和世界坐标系的优点。
3.4.5 局部坐标系
创建对象后,会指定一个局部坐标系。局部坐标系的方向与对象被创建的视口相关。例如,当圆柱被创建后,它的局部坐标系的Z轴总是垂直于视口,它的局部坐标系的XY平面总是平行于计算机屏幕。即使切换视口或者旋转圆柱,它的局部坐标系的Z轴总是指向高度方向。
当从参考坐标系列表中选取局部坐标系(Local Coordinate System)后,就可以看到局部坐标系,见图3.9。
图3.9
说明:通过轴心点可以移动或者旋转对象的局部坐标系。对象的局部坐标系的原点就是对象的轴心点。
3.4.6 其它坐标系
除了世界坐标系、屏幕坐标系、视图坐标系和局部坐标系外,还有4个坐标系,它们是:
父对象坐标系(Parent):该坐标系只对有链接关系的对象起作用。如果使用这个坐标系,当变换子对象的时候,它使用父对象的变换坐标系。
栅格坐标系(Grid):该坐标系使用当前激活栅格系统的原点作为变换的中心。
平衡环坐标系(Gimbal):该坐标系与局部坐标系类似,但其三个旋转轴并不一定要相互正交。它通常与Euler xy2旋转控制器一起使用。
捡取坐标系(Pick):该坐标系使用特别的对象作为变换的中心。该坐标系非常重要,将在后面详细讨论。
3.4.7 变换和变换坐标系
每次变换的时候都可以设置不同的坐标系。3ds max 6会记住上次在某种变换中使用的坐标系。例如,假如选择了主工具栏中的Select and Move工具,并将变换坐标系改为Local。此后又选取主工具栏中的Select and Rotate工具,并将变换坐标系改为World。这样当返回到Select and Move工具时,坐标系自动改变到Local。
技巧:当用户想使用特定的坐标系时,首先选取变换图标,然后再选取变换坐标系。这样,当执行变换操作的时候,才能保证使用的是正确的坐标系。
3.4.8 变换中心
在主工具栏上参考坐标系右边的按钮是变换中心弹出按钮,见图3.10。每次执行旋转或者比例缩放操作的时候,都是关于轴心点进行变换的。这是因为默认的变换中心是轴心点。
图3.10
3ds max的变换中心有3个,它们是:
Use Pivot Point Center(使用轴心点中心):使用选择对象的轴心点作为变换中心。
Use Selection Center(使用选择集中心):当多个对象被选择的时候,使用选择的对象的中心作为变换中心。
Use Transform Coordinate Center(使用变换坐标系的中心):使用当前激活坐标系的原点作为变换中心。
当旋转多个对象的时候,这些选项非常有用。Use Pivot Point Center将关于自己的轴心点旋转每个对象,而Use Selection Center将关于选择对象的共同中心点旋转对象。
Transform Coordinate Center对于捡取坐标系非常有用,下面介绍捡取坐标系的方法。
3.4.9 捡取坐标系
假如希望绕空间中某个特定点旋转一系列对象,最好使用捡取坐标系。即使选择了其它对象,变换的中心仍然是特定对象的轴心点。