用途:构建或修正 Three.js 场景层级、相机取景、坐标变换与响应式渲染器生命周期。
主要能力与要点:改动前先检查宿主元素尺寸、渲染器归属、世界尺度、手性、上轴与相机类型。一个体验优先使用单个渲染器;多视图确实需要共享资源时用 viewport/scissor。用 group 分离导入模型变换与交互枢轴;区分局部与世界坐标,变换刚更新时先更新世界矩阵再做同步边界或坐标查询。朝向用四元数插值,热路径复用向量,避免反复在欧拉角与四元数间转换。透视相机按物体边界及水平、垂直视场角取景,只按高度拟合可能裁掉宽物体;近平面取正值,远平面按深度精度需要设置;正交相机可用零近平面;投影变化后更新投影矩阵。用 ResizeObserver 按画布容器定尺寸,跳过零尺寸,CSS 尺寸与绘制缓冲尺寸分开,设定像素比预算,同步更新相机、渲染器与依赖尺寸的渲染目标,不要用渲染器尺寸覆盖布局 CSS。渲染循环只保留一个所有者,setAnimationLoop 可配合 XR,非 XR 下已有框架或 requestAnimationFrame 循环也可行。销毁时停止循环、断开观察器、移除监听并释放自有 GPU 资源;仅销毁渲染器不会释放场景资源。验证非方形容器、移动端旋转、隐藏到可见切换、重复挂载及超宽或超高资源取景。
限制:需使用项目已安装版本与现有架构,不授权无关改动或外部操作;API 精确签名与版本相关行为以官方文档为准,无法访问文档时应检查已安装类型或源码并说明不确定之处。