根据键盘 threejs 更改对象旋转动画方向
Change object rotating animation direction based on keyboard threejs
我可以通过使用以下方法设置关键控件来更改对象旋转方向:
case 37:
scene.rotation.x -= 0.01;
break
case 38:
scene.rotation.z -= 0.01
break
但这里的旋转是离散的,这意味着如果我停止按下键盘,我的场景也会停止旋转。我知道我可以在渲染函数中设置 requestAnimationFrame 并指定旋转方向来制作动画。如何根据键盘输入更改旋转方向并仍然保持动画的运行?
0)有必要存储对象的转速:
mesh.rotSpeed = { x: 0, y: 0};
1) 通过单击更改有关相应轴的旋转速度所需的箭头:
switch (e.keyCode){
case 37:
mesh.rotSpeed.x += 0.01;
break;
case 39:
mesh.rotSpeed.x -= 0.01;
break;
case 38:
mesh.rotSpeed.y +=0.01;
break;
case 40:
mesh.rotSpeed.y -=0.01;
break;
}
2) 在动画循环中以所需的速度绕轴旋转对象:
mesh.rotation.x += mesh.rotSpeed.x;
mesh.rotation.y += mesh.rotSpeed.y;
JSFiddle
相关文章:
- 旋转后拖动对象
- 在JS中围绕旋转对象旋转对象
- Threejs-围绕中心旋转对象
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 根据摄影机视图更改计算对象旋转
- 使用tween.js围绕世界轴旋转对象
- 在HTML5画布中,是否可以围绕旋转对象旋转对象
- 在拉斐尔中将对象作为一个组旋转
- 从对象旋转对象.带有自定义动画功能的trix.setrotationfromleuler
- 将一个对象自身旋转并围绕另一个中心对象旋转三.js
- 根据键盘 threejs 更改对象旋转动画方向
- WebGL在一个轴上围绕另一个对象旋转一个对象
- 使用Three.js围绕对象旋转相机
- SVG:反转父变换上的子对象旋转
- Three.js赢得't在对象旋转时渲染
- three.js面向对象旋转
- 如何在每次点击时用CSS转换/转换JS将对象旋转120度
- 对象旋转中的对象
- 获取对象旋转后的实际绑定区域
- HTML5 JavaScript-将对象旋转到目标