动画

Three.js 动画循环效果 | 三维可视化 / AI 提示词
📋 AI 提示词
prompt
1
使用 Three.js 的 requestAnimationFrame 实现动画循环,展示模型旋转和帧率计算。
🖼️ 效果预览
🎮 案例演示
效果描述
这是一个展示如何实现动画循环的示例,包括模型旋转和帧率计算。
效果特性
- 动画循环:使用 requestAnimationFrame 实现动画循环
- 模型旋转:模型绕 Y 轴旋转
- 帧率计算:计算每秒帧数
- 时间间隔:计算两帧之间的时间间隔
- 实时渲染:实时渲染场景
- Clock:使用 Clock 获取时间
核心参数
| 参数 | 值 | 说明 |
|---|---|---|
| 几何体大小 | 10, 60, 100 | XYZ 三方向大小 |
| 材质颜色 | 0xff0000 | 红色 |
| 旋转角度 | 0.01 | 每帧旋转弧度 |
| 坐标轴大小 | 150 | AxesHelper 大小 |
| 相机位置 | (200, 200, 200) | 相机位置 |
核心代码解析
创建场景和模型
javascript
1
2
3
4
5
6
const scene = new THREE.Scene();
const geometry = new THREE.BoxGeometry(10, 60, 100);
const material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
const mesh = new THREE.Mesh(geometry, material);
mesh.position.set(0, 10, 0);
scene.add(mesh);
动画循环
javascript
1
2
3
4
5
6
7
8
9
10
const clock = new THREE.Clock();
function render() {
const spt = clock.getDelta() * 1000; // 毫秒
console.log("两帧渲染时间间隔(毫秒)", spt);
console.log("帧率FPS", 1000 / spt);
renderer.render(scene, camera);
mesh.rotateY(0.01); // 每次绕y轴旋转0.01弧度
requestAnimationFrame(render);
}
render();
技术亮点
- 动画循环:使用 requestAnimationFrame
- 模型旋转:模型绕 Y 轴旋转
- 帧率计算:计算每秒帧数
- 时间间隔:计算两帧之间的时间间隔
- Clock:使用 Clock 获取时间
调试技巧
- 旋转速度:调整旋转角度控制速度
- 帧率监控:观察帧率变化
- 时间间隔:观察时间间隔变化
- 模型位置:调整模型位置
- 相机位置:调整相机位置
扩展方向
- 复杂动画:实现复杂动画
- 多模型动画:动画多个模型
- 动画控制:控制动画播放
- 动画序列:创建动画序列
- 动画缓动:添加动画缓动效果
本文档由 ThreeLab 编辑整理,如需转载,请注明出处。








京公网安备 11010502038735号
💬 评论区
评论功能即将上线,敬请期待!