Skip to main content

制作/修改动画器

其实制作动画器,真正需要手动操作的,只有上一页面提到的Driver层,其他可以通过OSCmooth来一键生成,当然如果想做到新版本Jerry模版那些细致的功能,可能需要我们去修改代码或者手动更改。

1. 创建一个属于自己的BlendTree

选做:从零开始自己建立混合树

image.pngimage.png

只需要在空白处右键选择From New Blend Tree,就可以自动生成一个混合树,双击进入,初始的BlendTree是什么都没有的,参数也是默认的GestureLeftWeight。

image.png

修改为Direct类型,然后从加号处添加新的混合树

image.png

在新的混合树中添加控制形态键的动画,同时调整参数为对应的FT/v2/xxxxxx

参数没有的话需要自己手动添加,具体使用何种参数,请参考VRCFaceTracking Parameters | VRCFaceTracking (vrcft.io)

参数在这个阶段是"FT/v2/"前缀,这是没有经过平滑的,后期会经由OSCmooth自动转化为"OSCm/Proxy/FT/v2"前缀

image.png

反复进行这些操作,可以制作出来一份完整的Driver图层,但是从头开始做不仅麻烦,还可能会漏掉一些动作,徒增一些没必要的参数消耗,所以我们这里可以选择第二套方案,从模版中进行拷贝动画器,然后使用OSCmooth还原动画器。

 

从模板中还原动画器

一般来说在Package中的文件比较难加以修改,所以我们可以直接把Jerry的模版从Package中移动到Asset中

这个操作也许需要一点时间,而且期间Unity不会有卡顿感,这会让你觉得没有移动成功,几分钟后切换一下窗口,模版就移动过来啦~

移动成功后,把我们需要的动画器(不想动源文件可以Ctrl+D复制一份)放入一个模型当中,本文以夏菲为例

image.png

image.png

 

这时候导入我们的OSCmooth-Github,将我们的模型拖入到其中
image.png

image.png

选择下方的Revert OSCmooth from Layer,这样就可以将Driver层所有参数的"OSCm/Proxy/FT/v2"前缀,转化回原始的"FT/v2/"前缀,这时候就可以开始编辑我们想要的Driver层了。这时候,应该只有Driver一个State,没有Binary图层和Smooth图层。

TBDimage.png

我们也需要删除一些参数,需要保留的仅有"FT/v2/"前缀的参数,并且不是1/2/4的二进制压缩参数

参数名动画器/本地参数表/远程同步描述
EyeTrackingActiveFloatBool眼球追踪开启
LipTrackingActiveFloatBool面部追踪开启
EyeDilationEnableFloatBool瞳孔追踪开启(瞳孔放大缩小,仅Tobii系可用)
FacialExpressionsDisabledBoolBool关闭手势表情
VisemesEnableBoolBool口型同步开启
FT/v2/xxxxxxFloat-原始输入的浮点值

下面是需要删除的参数,特别注意FT/v2/xxxxxx是要保留的,FT/v2/xxxxxx1;FT/v2/xxxxxx2;FT/v2/xxxxxx4是要删除的

FT/v2/xxxxxx1;FT/v2/xxxxxx2;FT/v2/xxxxxx4BoolBool原始输入的布尔值,之后会经由Binary转换为BinaryOut/FT/v2/xxxxxx
BinaryOut/FT/v2/xxxxxxFloat-经过Binary后的值,之后会经由Smooth转换为OSCm/Proxy/FT/v2/xxxxxx
OSCm/Proxy/FT/v2/xxxxxxFloat-经过Smooth后的值,之后会在Driver图层直接驱动形态键
OSCm/BlendSetFloat-混合树同时进行的关键参数,请保持为1
OSCm/Local/FloatSmoothingFloat-本地参数的通用平滑程度
OSCm/Local/PupilDilationSmoothingFloat-本地参数的瞳孔平滑程度
OSCm/Remote/EyeLidSmoothingFloat-远程参数的眨眼平滑程度
OSCm/Remote/FloatSmoothingFloat-远程参数的通用平滑程度
OSCm/Remote/PupilDilationSmoothingFloat-远程参数的瞳孔平滑程度

其实正常的删除参数的话,能删除就说明该参数已经没有对应的动画器占用了,所以只要删掉能删掉的就行,如果出现这个提示,说明就是这个参数是不能删的。(前提是已经删掉了Binary和Smooth层)image.png

 

这时候就可以开始编辑我们想要的Driver层了

修改动画器