Animator
大约 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 - 获取动画控制器,只读属性。