跳至主要內容

Animator

yisky大约 1 分钟组件文档组件Animator

Animator——动画组件,可以给实体添加关键帧动画。除了支持标准的位移、旋转、缩放动画和帧动画之外,还支持任意组件属性和用户自定义属性驱动的动画。

提示

Animator 组件本身不具备动画控制功能,所有关于动画的控制都是通过 controller (动画控制器)属性实现的,“动画控制器”介绍详见 AnimatorController

创建

import { Animator, DefaultAnimatorController } from '@fantasy3d/core';

// 创建动画控制器
const controller = new DefaultAnimatorController( root, animations );

// 添加动画组件
entity.addComponent( Animator, { controller } );

提示

当我们解析包含关键帧动画信息的 gltf/glb 数据时,引擎会自动解析动画信息并添加 Animator 组件,如下所示:

import { Animator, GLTFParser } from '@fantasy3d/core'; 

const { resourceManager } = engine;
const { rootEntity } = scene;

// 加载包含动画信息的 glb 文件
resourceManager.loadGLTF( './assets/models/medieval_fantasy_book.glb' ).then( ( resource ) => {
 
  // 解析 glb 数据,会自动添加 Animator 组件
  const entity = GLTFParser.parse( resource );

  // 添加到场景
  rootEntity.addChild( entity );

  // 获取动画控制器
  const { controller } = entity.getComponent( Animator );

  // 播放名为“The Life”的动画
  controller.play( 'The Life' );

} );

属性

  • controller - 获取动画控制器,只读属性。
上次编辑于: