替换默认相机
// 默认的正交相机export const view = regCamera("main", c => {});
// 替换为透视相机export const view = regPerspectiveCamera("main", c => {});要注意,尽管相机之间有种类之分,但所有相机的名称都不能重复!
透视相机通过定义一个 四棱台形的可视范围(视锥体 Frustum) 来决定渲染内容。模拟了人眼的真实成像方式,物体会表现出 “近大远小” 的透视效果。这非常适合构建具有纵深感的 3D 场景、动态运镜演出(如推拉镜头),以及利用深度差异实现自然的 视差滚动 (Parallax) 背景。
使用 regPerspectiveCamera 函数,可以帮助我们快速创建一个正交相机(并返回一个句柄)。
export const view = regPerspectiveCamera("main", c => {});替换默认相机
// 默认的正交相机export const view = regCamera("main", c => {});
// 替换为透视相机export const view = regPerspectiveCamera("main", c => {});要注意,尽管相机之间有种类之分,但所有相机的名称都不能重复!
regPerspectiveCamera 接受两个参数。
regPerspectiveCamera( "main", // 第一个参数
c => {}, // 第二个参数);main 是相机的名称,可以任意指定(但不能与其他相机重名)。c => { ... } 内部的内容;这里的 c 是一个构建器,可以任意指定其名称。regPerspectiveCamera 函数会返回一个相机句柄,可以通过这个句柄来引用这个相机。
export const view = regPerspectiveCamera("main");view 是一个相机句柄,其名称可以任意指定(但不能与其他句柄重复)。export const 表示 view 是一个全局变量,可以在其他文件中引用。regPerspectiveCamera 的第二个参数(可选)是一个配置函数,可以在这里指定相机的的视锥体等。
视口边界
fov:视场角,垂直 Vertical FOV,单位为角度。aspect:宽高比,即视口宽度除以高度。深度范围
near, far:定义视体在 Z 轴上的前、后边界。r => { r.fov = 45; r.aspect = 16 / 9;
r.near = 0.1; r.far = 10000; // 对于 1080p 的画面,一般至少设置为 10000};zoom 属性用于缩放相机视口,类似于相机的数码变焦,仅放大画面,不改变透视关系。r => { r.zoom = 1;};