Skip to content

动画&模型动作

属性

motion

索引与模型动作相关的全部状态和方法

定义于 #L10703

方法

animate()

创建一个关键帧动画

输入参数

参数必填默认值类型说明
keyframesPartial‹GameEntityKeyframe[]›关键帧的数据
playbackInfoPartial‹GameAnimationPlaybackConfig›动画播放参数

返回值

类型说明
GameAnimation创建出来的动画对象

定义于 #L10640

点击查看示例代码
javascript
//需要提前在编辑器中添加'单元方块'的模型。 
const vox = world.querySelector('#单元方块-1') //获取实体
vox.meshScale = vox.meshScale.scale(4) //让实体变大4倍

const ani = vox.animate([
  { position: [0, 12, 0], meshColor: [1, 1, 0, 1] },
  { position: [0, 12, 127], meshColor: [1, 0, 0, 1] },
  { position: [127, 12, 127], meshColor: [0, 1, 0, 1] },
  { position: [127, 12, 0], meshColor: [0, 0, 1, 1] },
], {
  iterations: 3,//兜3圈
  direction: GameAnimationDirection.WRAP,//从终点回到起点
  duration: 16 * 5, //兜一圈5秒(每秒16帧)
})

ani.onReady(() => {//当动画开始播放时
  world.say('开始兜圈')
})

ani.onFinish(() => {//当动画结束播放时
  world.say('兜圈结束')
})

getAnimations()

获取实体的所有已创建的动画

返回值

类型说明
GameAnimation[]创建出来的动画对象列表

定义于 #L10641

接口

GameEntityKeyframe

Entity实体动画关键帧参数,可对Entity除音效外的大部分属性做动画效果,例如位移、大小、模型、颜色等等

参数类型说明
durationnumber播放时长
easeInGameEasing缓入效果
easeOutGameEasing缓出效果
velocityGameVector3实体朝向某个方向运动的作用力
collidesboolean实体是否可碰撞
meshstringmesh决定了实体的外形。'mesh/*.vb'
meshColorGameRGBAColor实体的颜色
meshScaleGameVector3实体的缩放比例
meshOrientationGameQuaternion实体的旋转角度
meshMetalnessnumber实体的金属感
meshEmissivenumber实体的发光度
meshShininessnumber实体的反光度
gravityboolean实体是否会下落
fixedboolean实体的位置是否固定不动
massnumber实体质量
frictionnumber实体的粘性(0 = 滑,1 = 粘)

定义于 #L10541