数字人C4D角色动画研究之九:骨骼系统基础入门-2
【前言】
上一篇《骨骼系统基础入门-1》中,通过几个问题,解释一些关于骨骼系统经常涉及的一些概念。看完之后,初步知道骨骼、蒙皮、绑定等是怎么回事,这一篇就初步谈谈如何建立骨骼。
【研究】
看下图,BONES 翻译为骨骼,JOINT 翻译为关节, JOINT-OBJECT 关节对象 。
一、C4D的骨骼系统基础来源于父子关系。从上图的对象列表关系就可以看出来。骨骼的组织结构有时被称为一个骨架(skeleton),其中的任一关节点叫做骨头(bone)。还有锁链(chain)、骨架(skeleton)、层级(hierarchy)、连接(link)、 骨头(bone)、关节(joint)、节点 (node)...等,懂翻译不知道CG,知道CG的人不会翻译。
而在C4D中是这样的:
二、关节(JOINT)实际上是一个点。一个骨骼(BONES)是由两个关节构成,由粗指向细,粗的关节为细的关节的父。
1、比如,点击关节工具,点击两次,建立两个关节。由于它们在空间位置一样,没有构成父子关系,所以场景什么也没有。
2、把关节向下移动一段距离。场景中什么也没有。
3、把关节拖到关节.1的下面,构成父子关系。
4、场景中出现了骨骼。由关节.1(父)指向关节(子),由粗到细。所以关节表示就是一种层级的逻辑关系。
5、骨骼在动画中并不会被渲染,它的作用相当于一个支架,模拟真实生物的骨骼和机械等的动力学构架,对主要的关节或轴进行移动和旋转等操作;然后,通过各种设置,为骨骼添加关键帧动画,再由骨骼驱动绑定好的模型。如何才能渲染这个骨骼呢?
点击角色菜单--转化--转化关节为多边形。再渲染就有了。
三、如何绘制关节呢?方法有很多种,常用就有四种方法:
第一种方法就是用“关节工具“。
1、关节工具设置很多,一般情况下默认即可。重点要说的是下边“修改”的面板。
2、默认控制就是CTRL建,按住CTRL+鼠标左键,可以自由绘制骨骼。
3、按住SHIFT建可以细分骨骼。
4、在上面绘制的骨骼中间,按住SHIFT建点击,骨骼被切分。实际上就是在两个关节中间又加了一个关节。
什么都不按,直接点击关节,就可以移动关节。
5、这些设置可以更改,比如SHIFT键可以当做量化绘制。
6、量化绘制你懂得,就是直线、45度角、90度角绘制。
7、这是形成的关节对象。
第二种方法先绘制曲线,在转换关节。
1、在正视图绘制曲线。
2、选择“样条转化为关节”。
3、骨骼会按照曲线的控制点建立关节。曲线白色为开始,转为根关节;蓝色为曲线末端,转化为末关节。
4、形成的关节链。
第三种方法先建立关键点,生成关节。
1、在场景不同位置建立空白对象。取其在场景空间的位置。
2、位置如下所示。
3、选择所有的空白点,点击菜单。(样条转化为关节,我认为他们汉化错误)。
4、在不同的空白对象位置转化为关节(位置相同)。
5、当场景中并没有出现关节链。
6、把空白3当成跟关节,建立父子关系。
7、场景中出现了关节链。
第四种方法:
1、建立一个圆柱,按C转化多边形,去掉上下底。
2、选择边模式,按UL选择如下的边。
3、点击转化“所选到关节”,如果直接点选命令,就会出现一个公共的关节。
4、它的的秘籍是:点击这个命令,同时按住SHIFT键,就会各自生成一个关节点。
5、在对象窗口中看到各个关节。
6、同理,建立父子关系。
7、按照要求生成关节。
8、关节位置对的非常好。
小结:制作关节链方法很多,这里没有细谈每个关节坐标等问题,以后详谈。
四、如何建立骨骼控制器呢?
关节最后会驱动模型运动,但如何控制关节呢?
第一种:一般方法是在控制的关节位置建立空白对象:
1、图中有一个关节链,你能知道哪个是根关节,哪个是末关节?
2、这是对象窗口中的关节列表。现在我们想控制末关节---关节.5。
3、选中它,选中角色菜单--转化--关节转换为空白对象。C4D会在关节.5位置上生成一个空白物体。
(注意这是生成空白物体的方法)
4、这个控制末关节的空白物体,不能放在关节链中,把它拖出来。
5、为关节.5添加-角色标签--约束--PSR约束。把”关节.5“空白物体对象拖入目标栏中。
6、为了观看方便,设置空白物体在场景中的显示。移动空白物体,发现末关节也移动了。
第二种:常用的方法。用特殊曲线对象控制关节。
为什么用特殊曲线控制关节呢?因为用空白物体控制关节也是可以,但是有个毛病。就是控制点多的时候,你在场景中直接点击空白物体,你会选不到控白物体,你只能在对象列表中,先选择要控制的空白物体,然后,到场景中去移动它。控制太麻烦!我们要的是“所见即所得”。所以控制关节不用空白物体,而用“特殊曲线对象”。这个特殊曲线就是你自己做的曲线。
1、在正视图建立一个类似大腿的骨骼。
2、建立IK,把末尾的”关节.4“拖入结束栏,目标栏先不管。
3、在场景中建立XZ平面方向的一个圆环。
4、按C 编辑成特殊曲线。
5、把它拖到”根对象“下为子物体,相对坐标归零。目的使圆环与根对象位置相同。(这是对位的常用方法)
6、然后把特殊曲线-圆环改名为“上部控制”,作为最上层的父级。
8、按C ,把曲线编辑成为脚印的形状。
9、就是这样。
10、为末关节添加PSR约束。
11、然后,把圆环拖入变为上部控制的子对象。
12、这样我们在场景中,只要点击上部控制曲线,那么就能控制整个骨骼,这是旋转。
13、这是骨骼整体缩放,移动也可以,就不演示了。总之,这是一个总控的方法。
14、但当你拖动脚型的控制器的时候,发生了问题,只有一节骨骼跟随。这个可是IK关节,应该整个关节链移动才对。问题出在哪里?
问题出在:我们不能直接用特殊曲线制作的控制器去控制关节。
15、改正:
选择IK标签,为末关节添加目标。
16、然后,把PSR约束标签拖给“关节.4.目标”。圆环控制这个目标来控制末关节,通过IK系统反向上控制整个关节链,要记住。
17、这个时候,在场景中点击圆环,这个特殊制作的脚形状控制器,移动它,整个关节链移动,正常。
18、我们还可以为这两个自己制作的特殊曲线控制器,分别赋予颜色。
小结:
要记住最后控制器制作的常用的方法。
五、关节位置冻结、复位
关节建立以后,就是初始位置。当与模型发生绑定以后,你调整骨骼,如果导致混乱的时候,假如在初始化的时候没有冻结相关坐标,任凭你如何按CTRL+Z或者 SHIFT+Z,你的关节就再也回不到初始状态了。所以,关节与模型绑定初始位置的时候,一定要冻结关节坐标,这样你可以再调乱得时候,有机会恢复到关节初始位置。
1、利用关节工具建立如下关节链。
2、关节链是一条直线。
3、选择所有关节,点击下面的坐标面板--冻结全部。C4D系统就会记住各个关节的初始位置。
4、现在调乱关节。
5、选择所有关节。点击菜单 复位PSR。
6、所有关节又回到初始位置。
7、下面再看另一中情况。选择关节,右键角色标签--IK标签。把末关节.6拖入结束栏,再点击目标栏后的添加按钮,添加一个控制点。这个控制点与末关节.6位置一致。
8、那么这个关节链就是IK 反向关节链(由子控制父,反向上控制),拖动末关节控制点,可以控制整个关节。与FK(正向关节相反,由父控制子,逐级向下控制)。调整空白点的显示。
9、你可以选择全部关节,但对于IK关节链,关节的位置变化是受“关节.6.目标”控制。
10、所以,你只要选择“关节.6.目标”,然后到坐标面板--冻结全部。冻结IK控制点一个坐标即可,而不用冻结所有关节坐标。
11、现在移动控制点,几乎所有关节位置发生变化。
12、点击菜单“复位PSR"。
13、因为“关节.6.目标”控制点复位,回到原来初始化位置,所以IK关节立刻复位。
14、利用菜单太麻烦,C4D最大特点就是:可以创建你自己的按钮和命令(C4D系统提供菜单、按钮、命令供你使用)如何用命令和建立按钮呢?
按SHIFT+C,调出命令窗口,输入PSR。找到"复位PSR",回车即可执行。
15、你也可以用鼠标把”复位PSR"拖到一个位置,用的时候点击它即可。
【后记】
1、又没少写,不写则已,总想用一篇文章把知道的都写出来,如滔滔江水.......没办法,当老师的时间太长了,你还没让我说呢?
2、《骨骼系统-1》写完之后,不少吧友催我赶紧写《骨骼系统-2、3、4》。其实在博客的草稿箱,我已经把这个系列写到-8了,但我想把角色建模谈完之后,再陆续贴出骨骼系统及动画文章。可是吧友着急,那就先避开“角色”,只能往外贴了。
3、写的这些东西,初学者可能不解渴,认为是磨叽。可是如果你不掌握这些基础的东西,直接操作骨骼关节出错的时候,你都不知道错在什么地方。
4、学习骨骼动画,首先要学会角色建模,然后学绑定控制,最后学习动画曲线去控制动画的姿态、节奏等等。没有好的角色模型,你用骨骼绑定什么?不深入学习动画曲线,角色动起来,感觉非常别扭。当然,还必须观察生活和多看经典的动画作品。