three自定义动画

 

three自定义动画

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var clock = new THREE.Clock()<br><br>/*
      模型从一个位置移动到另一个位置的动画
      mesh:为控制的mesh或者object3d
      name:为mesh或object3d的名字
      initX,initY,initZ:为mesh或object3d初始化的x,y,z;
      x, y, z:为mesh或object3d移动后的位置的x,y,z;
    */
    modelAnimation(mesh, name, initX, initY, initZ, x, y, z,) {
      var times = [0, 20];
      var values = [ initX, initY, initZ, x, y, z];
      var posTrack = new THREE.KeyframeTrack(name, times, values);
      var clip = new THREE.AnimationClip("default", 2, [posTrack]);
      this.mixer = new THREE.AnimationMixer(mesh);
      var AnimationAction = this.mixer.clipAction(clip);
      AnimationAction.timeScale = 5;
      AnimationAction.loop = THREE.LoopOnce;
      AnimationAction.clampWhenFinished=true;
      AnimationAction.time = 0;
      clip.duration = 1;
      AnimationAction.play();
    }<br><br><br>
function render(){
  renderer.render(scene, camera);
  requestAnimationFrame(render);
  let time = clock.getDelta();
  if (mixer) {
    mixer.update(time);
  }
}

  

有疑问请加 qq 群讨论:854184700

 

posted @   web与webGL  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示