k帧随笔——高抬腿
银杏卷
2018年06月21日 17:49
收录于文集
共4篇

最近k观音的过程中不少人问我一些关于高抬腿和转圈的问题,碰巧这两天也使劲多研究了一些k帧过程中的技巧和应用相关,就随笔记一下,有帮到各位k帧党的就再好不过了!

这篇随笔里不会对基本概念过于阐述,所以并不适合0基础的人看,新人烦请先去找寻对应的一些基础概念弄清楚了之后再看就更能懂一些。

那我们就开始吧!

(注:我写专栏有个很不太好的习惯,就是想写的细致一点结果写的过于话痨,所以这篇可能会很长很长,各位看官们就包含一下啦)

(注2:这篇实在被我扯得太长了,转圈相关我放到下一次来讲,尽量多讲一些转圈的类型,就不在这里挤字数了,这篇只讲高抬腿了)

(注3:这篇随笔我写了4332个字!)

:p


这里插播一个小插曲

的确市面上能做到高抬腿和转圈的方法很多,比如反向ik,比如ik开关,比如D骨系列,但是按照我的经验而谈,这几个方式都不如直接拽ik好用

普通的IK其实能做到很多东西的,但只需要一些技巧和脑筋,不如反向IK那些用的那么直截了当,但是效果绝对不差,我k的一个卷珠帘双人舞就是完全靠IK还有一些基本骨k出来的,并没有用之前提到的三种方法,虽然说这样k出来的比较“量身定做”,也就是配布的时候适配性会有一些问题,不过对于自己玩玩的动作,你想怎么做就怎么做,并没有限制。

咱们这里谈论的都是偏向舞蹈动作的,武打之类的另当别论。

所以接下来先从如何拽IK来高抬腿或者画圆讲起,为什么上面提到的几个方式不甚理想我会放在后面说


首先来讲讲曲线画圆的原理,这个对于高抬腿和一些地面上的转圈的动作都是很有用的知识。

有句话先要使劲强调:

拽IK来k圆弧不用逐帧!!!!

拽IK来k圆弧不用逐帧!!!!

拽IK来k圆弧不用逐帧!!!!

我们要做的是两点:1. 找对关键帧位置,2. 对应轴来拉正确的曲线

对于一个圆来说,最重要的点就是两条垂直的直径相关的点,在高抬腿里,最重要的点就是最高的高点,还有一个腿伸平的时候最远的点如下图

抬腿过程关键帧注册点与曲线相关(图内为了展示关键帧位置,使用了两个模型)

讲解一下为什么这么拉曲线

初始→关键帧1:

光看x轴方向,腿抬起来的过程中越靠近关键帧1,x轴方向运动速度是由快减慢

光看y轴方向,运动方向是由慢到快

关键帧1→关键帧2:

光看x轴方向,腿抬起来的过程中越靠近关键帧1,x轴方向运动速度是由慢加快

光看y轴方向,运动方向是由快减慢

(进阶一点的话:在初始的地方和关键帧2的最后,x轴可以微微给一丢丢的平缓慢起,让开始和结束的时候有个缓冲减速的过程)

关键帧1和2要旋转IK骨,将脚尖的对应位置摆好方向,旋转方面的曲线用S型就可以

注意,这两个属于比较大幅度的动作变化,所以要整个身体的协调性都考虑起来,这组动作里,需要调节“下半身”和“足骨”(就是大腿的骨骼)

重心(center)可以适当地调一下,从最开始的双腿站立到最后的pose势必有个重心转移,可以将重心向着着地那个方向移动一些

下半身不用注册关键帧1位置的点,直接从初始状态注册好,然后再最高点(关键帧2)的位置拉起来最后高度,最后旋转的曲线拉一个S型就行(不用太陡的,具体速度按照实际情况来定)

足骨在两个关键帧位置都要注册,拉一样的s型关键帧就行,关键帧1可以调y轴达成,2的位置可以试试用z轴辅助一下到达位置(这个轴只是参照,我这里是这么调的,注意按住ctrl来调节能减少调过头的机会)

一个简易的演示图如下图

还有一些速度细节没有调整,不过这样至少能保证腿一直保证方向正确

注意,MMD里的模型因为骨骼的限制,很多时候是无法完全直腿的,所以很多人会想着我多拉一点可不可以,答案是“可以,但不要太多

IK记录的是绝对坐标,你从那一个位置移动到下个位置这样

如果你拉的过多,超过一个腿的长度,画面上就会在你的脚踝和你的ik骨之间多了一条黑线,如下图

出现箭头指的这种黑线就说明你超程了

虽然你的腿在拉超程之后不会有拉伸的变形,但是你的曲线会依然按照你设定好的过远的IK骨的坐标来计算运动路径,过多无意义的计算一是浪费,二是不好控制,有可能会造成比较大幅度的动作变形

我的建议是,为了尽量拉直,可以最多超个半个脚掌长,不要过长

如果还是不爽膝盖弯曲的效果的话,可以用D骨进行辅助修改,用fx的形式在不改变ik位置的状况下调整腿型。

腿落下来的时候,注册的关键帧位置是一样的,只不过把曲线反过来就可以了,原理相同

(S型曲线的不用改)

一些不像这样整腿往起抬/下落的动作,也是遵循最高帧+最远帧的方式来注册,比如说下面这种中间要有个吸腿动作的收腿

(手还没k,看腿就好)

分解一下动作的话,除了一开始的和结束,中间的设置路线的过渡帧的位置也是找寻最远处,具体的姿势如下图

中间关键的过渡帧位置

要注意的是,如果你用的是上面提到的其他的k腿辅助方式(就是和胳膊一样以FK的形式来k的话),收腿时的膝盖关键帧不是上图的位置,而是再接下来一点点,膝盖收到最紧的时候,如下图,方法不同关键帧注册的位置也不同,要注意

这里才是膝盖收的最紧的地方,IK的帧位置和FK的时候是不一样的

总结一下:

  1. 高抬腿的时候要抓的关键帧就是最高处最远处还有初始帧这三个位置,剩下的可以通过调节曲线来调节运动路径,注意要将两个轴分开来进行调节,两个轴的速度是不一样的

  2. 下半身只注册最高处初始帧,拉S型曲线就行

  3. 足骨要注意调整膝盖朝向,最高处、最远处初始都要注册关键帧,拉s型曲线

  4. 以IK的形式k高抬腿和FK的形式注册的关键帧是不同的,思路也不同,要多注意


为什么不用IK开关反向IK的方法,因为在舞蹈视频里应用有局限性

IK开关,顾名思义,开启或者关闭你设定的IK链的功能,下图左侧紫框处可以通过On和Off来注册你这条IK链是否要打开(模型一般的腿部的IK链是开着的),记得以前套用Marine Dreaming或者Marine Blooming的动作的时候,readme里面有一个动作有要求,就是关掉IK链,就是在紫色的这个框框里调整,别忘了调整之后注册。

值得注意的是,足IK和足尖IK一般都是同步关闭和打开的,所以别忘了每次更改的时候要每个脚的两个IK链都要注册。

关掉IK链之后,可以直接用足骨系列基本骨直接调整腿部的角度。

反向IK,在贴吧的帖子里有提到,是利用外亲(下图红框),将足IK绑到足首骨上,从而可以利用足骨直接调整腿的角度的方式。

左侧IK链开关,右侧外亲设置反向IK

这两种方法本质都是将IK链的功能取消,来让足骨这种基本骨直接控制腿部角度(就是变成胳膊那种控制的方式,不再用脚尖来带动大腿),所以这两种方法要在相邻的两个帧注册开关,同时两帧要注册所有足骨的关键帧,因为ik链开关前后,你的足骨的信息是完全不同的,必须在相邻的两帧注册新的足骨关键帧才能保证pose一致

(我知道这个概念比较容易混乱,不过强烈推荐这里自己操作一下实际的情况,就容易理解了)

就是这个相邻的两帧拥有不同的足骨注册信息,给这两种方法带来了一些使用局限性。

现在的MMD区的一个倾向就是很多人都喜欢60fps视频,代表1秒钟内记录60帧的画面,然而MMD内k帧的帧列表只有固定的30fps,也就是说你自己k帧的精度最高也就只有30fps

那么就代表着,用mmdk出来的动作录制60fps的视频,就代表着你k的动作每相邻的两个帧中间要多补出来一帧

然而我们之前讲过,在切换IK链开关的前后(反向IK也是某种程度上切换ik开关的方式),足骨的信息是会有很大程度上的差距的,在30fps的视频内,这就是两个挨着的帧,完全没有影响,但是如果是中间有补帧的话,这个差距就会被放大出来,造成这一帧会出现鬼畜的归位现象。

注意腿放下来之后,突然有一帧本该弯着的腿向后伸直了

我把帧一帧一帧的拿出来对比一下就能更明显的看出来这一帧鬼畜归位了

箭头所指的就是突然归位的一帧

同一套动作我拿IK开关和反向IK的方式都试验过,都会出现类似的现象

包括之前K卷珠帘的时候,在一个角色抱起另一个角色的时候,我曾经想过也用外亲这种形式将一个人的重心固定在另一个人身上,但是播放的时候就会看到会有很鬼畜的重心突然回归原位的一帧,也是因为补帧才会出现的bug,所以我最后并没有用这个外亲来完成整个作品。

当然,这两种方法无疑是一种很省事省力省心的k帧辅助方式,如果硬是要用这种方法的话,请不要输出高于30fps的视频,否则观众都会看出来你哪里有bug。

同时这个也能给出来另一套结论:相比来说低帧数的视频会或有或无的能盖掉一点动作的不流畅,而60fps这种越高帧数的视频则是会越放大你动作里的卡顿或者bug,所以请按需设置你的视频帧数


如果使用D骨的话,并没有上面两种方式带来的问题,不过由于它是基于IK链以上的辅助骨,那么D骨的角度和位置依然会受到IK链的影响。如下图

右下角箭头是IK骨所在地,用D骨将腿拉上去之后,腿会依然继续受IK骨影响

因为受IK链带动,在动作的重心、下半身和相关骨骼有变动时,通过D骨抬上去的腿也会受影响,如下图

图里展示的是中心位置和下半身角度带来的影响

如果你仅仅需要一个简单的抬腿,抬腿收腿前后姿势差不多,那就可以用D骨简单的做到想要的效果,小怪兽的《你的女友》的动作里,这里的踢腿部分用的就是D骨完成的,简单而且效果相当的不错o(*≥▽≤)ツ 

最开始的左右跳着走的时候甩的腿就是用足D骨K的

分解一下动作就能看出来,下图红色箭头的位置是IK链,而抬腿是由D骨(黄色箭头)抬起来的

红色为IK链位置,黄色为D骨抬起来的脚的位置

如果你抬腿和收腿的姿势并不相同而且差距比较大的,我还是建议直接拽IK好了,反正也不难(๑•̀ㅂ•́)و✧

还有一个应用就是可以在一些你总是拉不直腿的地方,用足D进行一些细致的微调

对于一些改模或者自己绑模的朋友们,有一点请注意:

通过一键加标准骨的插件刷过的模型,腿部权重是在D骨上的,如果你直接复制其他人带有D骨的全套骨骼来绑骨,请刷给D骨,而不是刷给基本骨(大腿小腿还有脚的那个基本骨),要不然就会出现模型明明有D骨但是腿却抬不起来的状况,如果搞不懂的话就把D骨的腿部系列辅助骨删除之后刷给基本骨,然后再用一次插件加骨骼就能行了~

(所以说偶尔拆解一下别人做的很棒的成品动作能学会很多的哇哈哈哈哈o(*≥▽≤)ツ )


暂时先想不到更多了~下一次会讲讲转圈相关的,我尽量多找一些转圈的姿势来讲一下要领好了~多练练之后这些都不是什么难事了~

比如~~~~~~~

下面这个转哈哈哈~下次见~~

这图连着看莫名的爽(不知不觉盯着看了三分钟)

使用动作:《你的女友》- 小怪兽

使用模型:《古剑奇谭网络版》- 狐妖男、TDA append

使用MME:そぼろ - base set

银杏卷 

18.6.21