上个帖子说到,ccl文件我用的比较少,在我的认知里它更多像是一种辅助性文件,顶多复制一下现有的ccl,不会自己专门创建。
穿模优化我主要还是通过物理链的方向和角度限制来实现的。关于这个方法,直接讲比较难讲,我会拿两个案例来演示一下方向和角度限制是怎么用的。
很可能你已经发现,明明生成链的时候长度是2,应该是2个Node,但是这里却有四个子项?因为一个Node被分成了两个元素,在这里名字分别叫CtcNode和*Frame,选中后就会发现*Frame是有方向的,而CtcNode...它就是一个点。
我们修改节点Node的自定义参数和朝向,就是通过*Frame来进行的;而CtcNode有什么用,我暂时不知道。下面我提到的所有节点Node,默认都是*Frame。
关于节点Node的自定义属性,在这个帖子的最后我有讲到,实际用到的只有是否固定Fixed End、运动方式限制unknownByteSetTwo001、运动角度限制UnknownFloatSet000,这三个属性。怎么调,后面实际案例会讲。
现在我们先关注一下节点的朝向。点击一个*Frame,然后按小键盘.(Del)键,现在就定位到这个东西上面了。
这里的xyz三个轴,x和z是有用的,y有什么作用我也不知道。
X轴:节点的初始朝向。这个应该很好理解,骨骼要控制某段顶点组肯定要有一个最初位置和最初方向,而骨骼自身的方向我们是不会也不能修改的,最好是通过这个东西来控制。如果不理解的话,看后面案例就行了。
Z轴:节点的运动基准轴。这个是什么意思呢?和运动方式限制unknownByteSetTwo001这个属性有关,比如把它设为0(自由旋转),那这个轴可能就没啥用;如果设为1(锥形范围旋转),就是在以Z轴为中心线的锥形范围内旋转;如果设为2(单轴旋转)就是绕Z轴旋转。
- 补充1:初始朝向、基准轴和角度限制三者是共同作用的。在基准轴确定了运动锥面(平面)后,初始朝向和角度限制进一步限定了运动范围。
- 比如,限定单轴旋转就是在一个平面上旋转,角度限制进一步限定了它只能在一个扇形范围内旋转,而初始朝向(扇形的中线)确定了这个扇形的具体朝向。
- 所以结论就是,如果初始朝向改的太过分,可能会导致物理表现得很僵硬和反直觉(因为重力、风力等力的方向全部是固定的,不会随朝向改变,而真实世界中也并没有角度限制这种东西),因此不要过分依赖初始朝向。
好,根据上上一个帖子,假设我做完一个mod,也搞完物理了,我现在兴冲冲地进游戏查看,结果发现人物左边的刘海偏了——本来应该是下图左边的样子,却变成了右边这样:
首先,如果你骨骼是跟着模型权重来放的话,按理讲应该是不会出现这个问题的,因为在创建节点时,默认朝向就是指向下一个骨骼。
如果出现这个问题,首先可以依次选中这个物理链中的所有节点,一个个用CTC Tools的Orient Frame ...(重置物理链朝向至骨骼链朝向)处理一下,一般就解决了。
如果还是有问题,那就需要手动修改节点的朝向了。我们把mod3文件和ctc文件先后载入,然后把网格改为不可选中,之后对着骨骼的位置右键,一般点两下就会选中节点了。
这里就可以看到X轴指向的是右边,而且还朝着头的外侧,所以才会导致上面那样整段头发都朝外了。
然后我们直接按R键,然后按X/Y/Z键限定旋转方向,一点点修改X轴的朝向,然后导出,在游戏中查看,最终把它指向想要的位置就可以了,非常简单。
如果不想变动其中某个轴的位置,比如我就想让x轴这么朝向,但是我想修改节点的运动方向,那么按R之后,双击X,就是在局部X轴上旋转。
同理,也可以通过修改朝向,解决在站立不动时,侧发本来想搭在肩膀上,结果却直接穿模到身体里的问题(不过动起来还是会穿模,这个就没办法了)。
把朝向问题解决了,现在进游戏,在外观界面看,一切正常:
但是跑起来之后,左边刘海却直接穿模到额头里面了,很难看。如果一段头发拥有两段以上的权重,这个问题就更明显。
用ccl文件?很难,首先你得先能找到适用于头部的枚举数,然后还要精确调整碰撞球半径,吃力不讨好。
要解决这个问题,最简单的方法就是把刘海权重直接合并到头部004上,或者是把物理链的Reduce Self Rate调低,这样会让整个刘海都不运动(或者几乎不运动),不会动就不会穿模——解决不了问题,就解决问题的来源!
但是我们有了方向限制和角度限制之后,我们就可以做的更好、更自然。我们把左边刘海对应节点的Z轴指向头部的外面,然后将节点自定义属性的方向限制设置为2(单轴旋转),根据自己的喜好还可以微调一下角度。
这样,最终实现的效果就是头发沿着头直接向侧面移动了,非常自然!
不过啊,正面刘海好像是不能这么搞的,即使设定运动方向限制为单轴,正面刘海有时也会斜着向头部穿模,我实力有限,目前也不知道为什么...
最终,我是通过将正面刘海权重全部合为一个,然后限定单轴旋转、减小运动角度解决的,最终稍微有那么点运动效果(这是迫不得已的解决方案)。
相信喜欢摸索的人能够发现更好的解决方法。
到这里,我们的物理教程就结束了。
虽然我说过,自己做物理比移植有时候更快,但是实际上呢,物理想要搞得尽善尽美,很吃时间、精力、经验。在同样很高的熟练度下,如果通过移植物理做mod要2小时的话,自己做物理可能就要3~6小时甚至更多的时间。
所以选择哪一种方式,都是可以的,因为实际用mod的人,大部分都看不出最终效果的差别。还请结合自己的实际情况,选择适合自己的方法。