Three.js 全屏适配
提示词
使用 Three.js 实现全屏适配,监听窗口大小变化并更新渲染器和相机参数。
效果描述
这是一个展示如何实现全屏适配的示例,包括监听窗口大小变化和更新渲染器、相机参数。
效果特性
- 全屏渲染:渲染器全屏显示
- 窗口监听:监听窗口大小变化
- 渲染器更新:更新渲染器尺寸
- 相机更新:更新相机宽高比
- 投影矩阵:更新相机投影矩阵
- 自适应布局:自适应窗口大小
核心参数
| 参数 |
值 |
说明 |
| 几何体大小 |
10, 60, 100 |
XYZ 三方向大小 |
| 材质颜色 |
0xff0000 |
红色 |
| 坐标轴大小 |
150 |
AxesHelper 大小 |
| 相机位置 |
(200, 200, 200) |
相机位置 |
| 观察位置 |
(0, 10, 0) |
相机观察点 |
核心代码解析
创建场景和模型
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);
创建渲染器
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.render(scene, camera);
document.body.appendChild(renderer.domElement);
窗口大小变化监听
window.onresize = function () {
renderer.setSize(window.innerWidth, window.innerHeight);
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
};
技术亮点
- 全屏适配:实现全屏渲染
- 窗口监听:监听窗口大小变化
- 渲染器更新:更新渲染器尺寸
- 相机更新:更新相机宽高比
- 投影矩阵:更新相机投影矩阵
调试技巧
- 窗口大小:调整窗口大小测试适配
- 宽高比:确保宽高比正确
- 投影矩阵:确保投影矩阵正确更新
- 渲染器尺寸:确保渲染器尺寸正确
- 相机参数:确保相机参数正确
扩展方向
- 动画循环:添加动画循环
- 控制器:添加轨道控制器
- 光源:添加光源
- 多个模型:添加多个模型
- 性能优化:优化渲染性能
本文档由 ThreeLab 编辑整理,如需转载,请注明出处。
💬 评论区
评论功能即将上线,敬请期待!