每日见闻之THREE.PerspectiveCamera的含义

PerspectiveCamera 是Three.js中创建透视相机的api。

js 复制代码
-   特点:模拟人眼所看到的景象,它是3D场景的渲染中使用得最普遍的投影模式(近大远小)
-   应用场景:最常用的3d渲染相机,更符合人眼所看的景象

另外还有OrthographicCamera(正交相机)、CubeCamera(立方相机),先学习透视相机

完整方法

js 复制代码
  PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )

参数解释

  • fov: 视场即能够看到的角度范围,人的眼睛大约能够看到180度的视场,视角大小设置要根据具体应用,一般游戏会设置60~90度。 默认值45。

视野角度(FOV)的本质

FOV 表示相机镜头能看到的空间范围(通常以垂直角度衡量,单位为度数)。例如:

  • 小 FOV(如 30°):类似长焦镜头,视角窄,只能看到小范围场景,物体在画面中占比大(放大效果)。

  • 大 FOV(如 120°):类似广角镜头,视角宽,能看到大范围场景,物体在画面中占比小(缩小效果)。

类比场景

  • 当你用手机拍照时,切换到 "广角模式"(增大 FOV),远处的建筑会显得更小,但能拍到更多建筑周围的环境。
  • 切换到 "2 倍变焦"(减小 FOV),建筑会显得更大,但只能拍到建筑的局部。
  • aspect:渲染窗口的长宽比,如果一个网页上只有一个全屏的canvas画布且画布上只有一个窗口,那么aspect的值就是网页窗口客户区的宽高比 window.innerWidth/window.innerHeight

  • near(近裁切面):从距离相机多远的位置开始渲染,默认值0.1

  • far(远裁切面):距离相机多远的位置截止渲染,如果设置的值偏小小,会有部分场景看不到。过大会影响渲染性能; 默认值1000

near far

场景类比

在剧院中:

  • near = 舞台前沿:舞台幕布以内的区域(演员、道具)被灯光照亮(可见),幕布前的乐池(更近处)因太近而看不清。
  • far = 最后一排观众席:超过该距离的后排观众(太远)会隐没在黑暗中(不可见)。
  • 作用:聚焦观众视线在合理范围内,避免无关细节(如舞台外的设备、太远的观众)干扰画面。

生活类比:人眼与眼镜的 "聚焦范围"

假设你戴着一副特殊眼镜看世界:

  • near = 0.5 米:距离你小于 0.5 米的物体(如贴在眼睛上的手指)会模糊到看不见。
  • far = 100 米:距离你超过 100 米的物体(如远处的高山)会淡出视野。
  • 中间范围(0.5-100 米) :正常可见,如眼前的桌子、10 米外的人。
相关推荐
ii_best1 小时前
IOS/ 安卓开发工具按键精灵Sys.GetAppList 函数使用指南:轻松获取设备已安装 APP 列表
android·开发语言·ios·编辑器
2501_915909061 小时前
iOS 26 文件管理实战,多工具组合下的 App 数据访问与系统日志调试方案
android·ios·小程序·https·uni-app·iphone·webview
limingade3 小时前
手机转SIP-手机做中继网关-落地线路对接软交换呼叫中心
android·智能手机·手机转sip·手机做sip中继网关·sip中继
RainbowC03 小时前
GapBuffer高效标记管理算法
android·算法
程序员码歌3 小时前
豆包Seedream4.0深度体验:p图美化与文生图创作
android·前端·后端
、花无将4 小时前
PHP:下载、安装、配置,与apache搭建
android·php·apache
shaominjin1235 小时前
Android 约束布局(ConstraintLayout)的权重机制:用法与对比解析
android·网络
我命由我123456 小时前
Android 对话框 - 对话框全屏显示(设置 Window 属性、使用自定义样式、继承 DialogFragment 实现、继承 Dialog 实现)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
怪兽20147 小时前
请例举 Android 中常用布局类型,并简述其用法以及排版效率
android·面试
应用市场7 小时前
Android Bootloader启动逻辑深度解析
android