animationcontroller 控制骨骼

导入了fbx骨骼动画 ,使用animationcontroller控制动画,但是想用程序控制头的旋转,如何实现。直接控制骨骼节点旋转不起作用

可以用姿态图来做

大致步骤是:

  1. 启用程序式动画功能,创建姿态图
  2. 假如要改骨骼旋转,就需要在变量里添加一个变量,类型为四元数用来作为变量输入
  3. 姿态图中新增一个程序式姿态,添加应用变换节点
  4. 代码里通过 animation.AnimationController.setValue_experimental 来设置旋转
    image
    const anim = this.node.getComponent(animation.AnimationController);
    anim.setValue_experimental("topRotation", quat(0, 0.3, 0, 1));
    

demo: cocos-bone-demo.zip (11.4 KB)

2赞

感谢分享,我后来不用骨骼动画了,用ccc的动画编辑器和动画图来做,因为我的动画都比较简单,