Blender2.5x-2.6完全教程 2.2.3
第 2.2.3 节 枢轴点和导向基准 (pivot)
在View视图中,用于控制物体Transform变换的3D manipulator widget操纵杆中央,是一个的白色的小圆圈,这就是用于计算Move位移、Rotate旋转、Scale缩放的Pivot Point枢轴点(有的书籍称为支点、锚点、重心点),请参考第 1.3.1 节和第 2.1.3 节。Pivot Point枢轴点并不是固定在物体中心的,在3D View视图编辑器下方的菜单按钮栏里,有一个默认是两个白色圆球带上下三角形符号的按钮,点击它可以展开Pivot Point枢轴点菜单,从中有5种选择可以把Pivot Point枢轴点放置在需要的地方,然后再进行Transform变换操作。
Active Element | 活动元素 | 快捷键 Alt .(点号) | |
Median Point | √ | 数学中间点 | 快捷键 Ctrl ,(逗号) |
Individual Origins | 独立原点 | 快捷键 Ctrl .(点号) | |
3D Cursor | 3D游标 | 快捷键 .(点号) | |
Bounding Box Center | 范围框中心 | 快捷键 ,(逗号) |
- Cube立方体默认已被选中 ⇒ 把鼠标放在View视图内 ⇒ Shift D 复制 ⇒ 移动鼠标把新的Cube.001立方体放置在一边,点击左键确定 ⇒ 按着Shift键用鼠标右键点击加选原本的默认Cube立方体 ⇒ 现在Pivot Point枢轴点菜单按钮默认选中的是Median Point数学中间点,位于已选中的两个立方体中央 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体以两物体的中间点为枢轴点一齐整体旋转 ⇒ Esc 取消旋转操作 ⇒ 快捷键 Ctrl .(点号)切换为Individual Origins独立原点 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体以各自的中心原点为枢轴点原地旋转 ⇒ Esc 取消旋转操作 ⇒ 鼠标左键在View视图任意点击一下,确立新的3D Cursor游标位址 ⇒ 快捷键 .(点号)枢轴点跳转到了游标上 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体一齐以3D游标为枢轴点整体旋转 ⇒ Esc 取消旋转操作 ⇒ 快捷键 Alt .(点号)枢轴点跳转到Active Element活动元素即最后被选中的那个立方体上 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体都以默认的Cube立方体原点为枢轴点一齐整体旋转 ⇒ Esc 取消旋转操作 ⇒ 快捷键 ,(逗号)枢轴点跳转到两个立方体共同的Bounding Box Center范围框中心上,目前这个范围框中心与Median Point数学中间点是重合的 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体以两物体的范围框中心为枢轴点一齐整体旋转,点击鼠标左键确定完成。
在紧贴着Pivot Point枢轴点菜单按钮的右边,还有一个三白点加左右双箭头的按钮,这是控心开关。如果点击这个按钮变成深色,开启了这个控心开关,manipulate object center only 在Transform变换时只对物体的中心Origin原点起作用,物体自身的姿态和大小不会发生改变,就像舞蹈演员在舞台上绕圈跳舞时脸部一直朝向观众一样,这是一个很有趣的应用方法,从下面的操作实例中可以看到:
- 继续上例,View视图中两个立方体都已被选中 ⇒ 点击控心开关按钮变成深色开启状态 ⇒ 现在Pivot Point枢轴点菜单按钮选中的是Bounding Box Center范围框中心 ⇒ 把鼠标放在View视图内 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体以两物体的中间点为枢轴点相对旋转,而且旋转时各自平面的朝向保持不变 ⇒ Esc 取消旋转操作 ⇒ 快捷键 Ctrl ,(逗号)以Median Point数学中间点为枢轴点 ⇒ R 旋转的情况与范围框中心相同 ⇒ Esc 取消旋转操作 ⇒ 快捷键 Ctrl .(点号)切换为Individual Origins独立原点 ⇒ R 移动鼠标没有反应,因为Individual Origins独立原点是限定了原点在场景原位,而控心开关又限定了各自中心点姿态不变,所以就全都不变 ⇒ 快捷键 .(点号)枢轴点跳转到了3D Cursor游标上 ⇒ R 旋转 ⇒ 移动鼠标,两个立方体以3D游标为枢轴点相对旋转,而且旋转时各自平面的朝向保持不变 ⇒ Esc 取消旋转操作 ⇒ 快捷键 Alt .(点号)枢轴点跳转到了Active Element活动元素即最后被选中的那个立方体上 ⇒ R 旋转 ⇒ 移动鼠标,Cube.001立方体围线着Cube立方体旋转,而且旋转时平面的朝向保持不变,点击鼠标左键确定完成。
以上的两个操作实例是以R旋转为例的,若改用S缩放产生的效果也大致类似,如果开启控心开关,S缩放时物体的大小不会发生变化,大家可以自已尝试实践操作。
在对物体进行Transform变换操作时,可以通过按下一次X或Y或Z来限定Global全局坐标轴,按下二次X或Y或Z(即XX或YY或ZZ)来限定Local本体坐标轴,请参考第 2.1.3 节。除了Global全局和Local本体这两种坐标形式的Orientation导向基准,Transform变换还有另外三种Orientation导向基准可供选择,甚至还可以新建自定义的Orientation导向基准。在View视图下方的菜单按钮栏里,紧贴着红绿蓝三色“人”字形3D操纵杆控制变换按钮的右边,有一个默认是Global带上下三角形符号的Transform Orientation变换导向基准菜单按钮,点击它或按下快捷键 Alt Spacebar(空格)可以展开Orientation导向基准菜单,注意:Linux系统下快捷键 Alt Spacebar(空格)可能被Gnome窗口管理器占用。此外,在View视图中按N键展开的右侧Properties特性栏的下方,也有一个Transform Orientation变换导向基准栏目,鼠标点击横向三角形变为倒三角形可以展开这个栏目(或者把鼠标放在该栏目上,按A键展开收起栏目),展开后里面也有一个默认是Global带上下三角形符号的Transform Orientation变换导向基准菜单按钮,点击它展开的Orientation导向基准菜单里有5种选择:
View | 视图 | |
Normal | 法线 | |
Gimbal | 万向节 | |
Local | 本体 | |
Global | √ | 全局 |
注意:Orientation导向基准控制的是整个View视图中3D manipulator widget操纵杆的坐标基准。而在对物体进行Transform变换操作时,仍可以按下XYZ来临时限定该物体的Global全局坐标轴或Local本体坐标轴。在Orientation导向基准菜单中,Global全局坐标是指整个Scene场景环境的绝对坐标,类似于地图上的东南西北,Global全局坐标指示的方向对所有物体在所有位置都一样;Local本体坐标是指以物体自身为基准的相对坐标,类似于每个人的前后左右,对于不同位置不同姿态的物体Local本体坐标所指示的方向有可能不一样;View视图坐标的X轴和Y轴是与电脑屏幕平行的,电脑屏幕横向红色为X轴,纵向绿色为Y轴;Normal法线坐标使用的是一种“人性化”常规思维模式的坐标形式,Z轴会自动匹配到所选择物体的法线向量,例如在Edit编辑模式中,如果选中Cube立方体的一个Face面或一个Vertex顶点,会看到3D操纵杆的Z轴方向必定是朝“外”的。注意:选中Normal法线坐标后,Pivot Point枢轴点的白色圆圈会呈稍稍变暗的颜色。
Gimbal万向节坐标可以用于解决在Euler欧拉角模式下产生的Gimbal Lock万向节锁死现像。使用过三角架操作摄像机的朋友有这经验:摄像机在三角架上可以左右旋转也可以上下旋转,假设正在跟踪拍摄一个UFO飞碟,飞碟在正前方向上飞行一直飞到拍摄者的头顶,然后突然90°转弯往拍摄者的左边飞去,这时摄像机在三角架上已经是在90°仰拍,却没办法(以一次动作)向左转动继续跟踪这物体了,因为目前的状态下“向左或向右”在方向上都刚好三角架上的两个旋转轴重合平行,因此这两个转轴都没有个向左或向右转动的能力。在实际拍摄操作中只能把“一次向左”这个动作分解成二次动作,先把摄像机从仰着头的90°稍稍摇低下来,然后才能转向左侧继续跟踪拍摄飞碟;或者反过来先把摄像机水平向左转,然后才能把90°仰着头的摄像机摇低继续跟踪拍摄飞碟。
先把物体随意转动一点角度,然后把Orientation导向基准菜单从Global全局坐标切换到Gimbal万向节坐标,可以看到Z轴保持不动,X轴和Y轴稍微有一点点偏转;如果是把Orientation导向基准菜单从Local本体坐标切换到Gimbal万向节坐标,可以看到X轴保持不动,Y轴和Z轴稍微有一点点偏转。这类似于刚才例子中三角架上的摄像机,在拍摄时与目标并没有呈完全垂直的90°面对面,而是在以89°拍摄,就因为这一点点“人为造就”的差异,就可以在数学上解决Gimbal Lock万向节锁死现像,对于影视创作来说,视觉上是看不出这一点点差异的。如果想严格地保持转向角度的精确性,同时又避免Gimbal Lock万向节锁死现像,可以指定被选中的物体使用Quaternion四元数旋转模式,请参考第 2.1.4 节。
在View视图中按N键展开的右侧Properties特性栏的下方,Transform Orientation变换导向基准栏目里,有一个Create创建按钮,作用是Create transformation orientation from selection从已选中元素中创建新的变换导向基准,也可使用快捷键Ctrl Alt Spacebar(空格)在Orientation导向基准菜单中创建一个新的自定义导向基准,按下Create创建按钮或快捷键Ctrl Alt Spacebar(空格)后,左侧Tool Shelf工具栏的下方Operator操作参数栏目会变成Create Orientation创建导向基准栏目,里面有三个项目:
Name(文本框) | 名称 | Text to insert at the cursor position. | 鼠标点击文本框,在光标后输入文本,回车确认 |
Use after creation | √ 创建后立即采用 | Select orientation after its creation | Object物体模式中可直接修改自动生成的默认名称;Edit编辑模式中则保留默认名称并新增自定义名称 |
Overwrite previous | 覆盖同名选项 | Overwrite previously created orientation with same name | 先勾选,再输入菜单中已有的名称,可替换该名称的导向基准;若不勾选,则新的同名称选项后自动添加编号 |
- Cube立方体默认已被选中,且在Object物体模式下 ⇒ R 旋转 ⇒ 移动鼠标旋转立方体并点击确定 ⇒ Alt Spacebar(空格)弹出Orientation导向基准菜单 ⇒ 选择Local本体 ⇒ Ctrl Alt Spacebar(空格)创建一个新的导向基准,默认已被自动命名为Cube ⇒ 左侧Tool Shelf工具栏的下方 ⇒ Create Orientation创建导向基准栏目 ⇒ 鼠标点击Name名称文本框并输入abc 回车 ⇒ 鼠标放回View视图内 ⇒ Alt Spacebar(空格)弹出Orientation导向基准菜单,可以看到里面已经有了新建的abc选项(替换了自动命名的Cube选项) ⇒ 再次选择Local本体 ⇒ R 旋转 ⇒ 移动鼠标旋转立方体并点击确定 ⇒ Alt Spacebar(空格)弹出Orientation导向基准菜单 ⇒ 选择刚才新建的abc选项,可以看到abc导向基准仍保持着新建时的角度,虽然abc导向基准是由Local本体坐标派生新建而来的,但abc导向基准有自己的独立性,并没有随着Local本体坐标变化。