除了使用动画的方式可以使模型动起来以外还可以用设置参数的方法使模型动起来。
使用cubism打开Epsilon.cmox模型文件
可以看见在中下Parameter一栏有许多参数,这些参数就是控制模型动作的参数。右键一个属性在inspector面板中会出现相关的信息,其中有个id属性,这便是这个参数的id。2.x版本的sdk是无法从代码中获取参数的id的。
使用模型的setParamFloat方法设置参数,方法参数为(参数id, 值, 权重),实际改变值为值*参数, 权重一般省略
live2DModel.setParamFloat("PARAM_ANGLE_X", 1);//头右转30度
这个PARAM_ANGLE_X便是模型中角度x这个属性的id。
还可以通过获得模型参数的索引来进行设置。
int paramAngleX = live2DModel.getParamIndex("PARAM_ANGLE_X");
live2DModel.setParamFloat(paramAngleX, 1);
可以在update函数中设置参数的累加和累成来控制模型的动作
void Update () {
live2DModel.setMatrix(transform.localToWorldMatrix * live2dCanvasPos );
if (Input.GetKeyDown(KeyCode.A))
// //以上一个值累加
live2DModel.addToParamFloat("PARAM_ANGLE_X", 10, 1);
//累乘
live2DModel.multParamFloat