上面几节研究父子、PSR、镜像、目标约束,感觉是不是有点简单?
下面研究“向上”约束,这个约束理解有点困难。做好准备哟
“向上”约束英文是UP VECTOR (上行矢量)约束
一、什么是矢量呢?我们知道描述客观物体的量分为标量和矢量两种:标量是只有大小没有方向,比如时间(时分秒),质量(千克),长度米等;矢量是既有方向又有大小,比如说速度,力,位移、加速度等,你在用这些有方向的量的时候,不仅要回答大小还有回答方向。矢量在数学上用一个带箭头的线表示,箭头方向为矢量方向,线段的长度为矢量大小。
在三维计算机图形学中,广泛使用矢量计算。用矢量大大提高计算效率。在笛卡尔XYZ三维坐标系,描述一个物体从A点(X1,Y1,Z1)移动到B点(X2,Y2,Z2),需要两组标量坐标,共6个数据,而如果用矢量描述一个矢量足够“矢量AB”。用标量描述从A到B,你必须关心中间过程,而用矢量不管中间过程,只考虑起点和终点。另外对于在空间三维物体旋转缩放,如果用矢量描述,建立数组,用矢量矩阵就可以计算完成,非常快捷。
有点跑题了?
二、什么是上行矢量呢?那一定是个有方向的量。
看左图,ABC三点在空间构成了一个三角面。(三点共面)AB假如为转动轴--轴向。C点就可以决定这个平面的在空间的朝向,(伸出你的右手,食指尖为A,伸出的大拇指为C,手掌形成一个面)图中红色的垂直于AB轴的矢量就是"上行矢量”。
如果C点在YZ平面移动(或上行矢量和AB轴形成的面),三角面ABC方向不会发生变化。
但是,C点如果在其他方向上XY ,XZ平面方向上移动,那么由ABC三点决定的平面就会发生转动。想象这个面是个“铁制”三角旗子。
三、如何使用向上约束?
1、 在场景中建立一个“角锥”为A,再建立一个“圆锥”为B,大小和方向调整如下。
2、我们想用B约束A,想让B的转动带着A转动(A沿着自身Y轴转动)。为A添加一个约束,改为“向上”约束。
3、把B拖入目标栏,用B的+Z方向(蓝色坐标,红色模型尖头方向)为上行矢量方向。
4、角锥A的+Y方向为轴向。
5、在轴向选择 Y+(当然是A的Y+方向了-)。
6、在YZ平面移动红色的B,发现角锥A不转动。
7、在非YZ平面移动红色的A物体,发现黄色的B跟随A,沿着自身的Y轴转动,并对着B。
8、在约束章节结束的时候,我们将制作类似下面的一个机械手。机械手手臂用骨骼连接控制,也可以用(父子和XPRESSO控制),机械手转动“带动”地盘跟随转动,要用到“向上”约束。
四、“目标标签”和“约束向上标签”有哪些相同和不同点?
在模型对象右键添加--C4D标签--目标标签。在那里也有一个上行矢量,如何理解?
还是举例子说明吧:
1、在场景中建立如下模型,都是基元模型。不是太懒,而是说明问题就行了。
2、控制角锥,为其添加--目标标签。把头上的球体拖入目标对象中。
3、角锥立即会用它的+Z(蓝色坐标)对着目标--球体。如果球体移动,角锥通过自身转动,始终用+Z对着球体。这就是是目标标签最重要的用途。
4、把胶囊拖入上行矢量中。
5、你会发现角锥用+Y(绿色坐标)对着红色的胶囊,依然用+Z对着球体。
6、你可以这样想:假设球体不动,由角锥和球体构成一个轴,再通过红色胶囊组成一个绕着“轴”转动的虚拟面。而这个虚拟的面是否能转动,取决于红色的胶囊的位置。
7、如果红色的胶囊只在他自己的YZ平面移动,那么这个虚拟平面不会转动,直接表现为白色的角锥不会转动。
8、如果红色的胶囊在其他位置移动(不在YZ平面),那么这个虚拟的面就会转动,直接表现为白色角锥用+Y对着红色胶囊。
小结:目标标签与约束-上行约束标签之间,有什么共同点和区别点,你自己能否总结出来?
目标标签应该是向上约束的简化版,向上约束添加的受控对象会更多,会随意指定控制轴。
【感悟】
天气太热了,不喜欢编写了.......
每天就喜欢在树林里“发呆”。
古人说:“急中生智、静极生慧、宁静致远”,没错!
如果你每天有一段时间通过静坐--发呆(进入气功状态--处于“无”的境界),像老牛一样“反刍”,思路反而会泉涌,过去想不明白的事,你会豁然开朗。不信你就试一试!
艺术是“闲”出来的,而“钱”是忙出来的。
我们人类通过“物质文明”提高了效率,节省出来大量”闲暇的时间“;而又通过“精神文明”消耗掉这些“闲暇的时间”。