前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >说下three.js 中的相机

说下three.js 中的相机

作者头像
程序你好
发布2021-07-23 14:36:25
发布2021-07-23 14:36:25
1.6K00
代码可运行
举报
文章被收录于专栏:程序你好程序你好
运行总次数:0
代码可运行

所有的3D编程中都有一个避免不了的话题就是相机,相机就是这样一个抽象,它定义了三维空间到二维屏幕的投影方式,用“照相机”这样一个类比,可以使我们直观地理解这一投影方式。而针对投影方式的不同,照相机又分为正交投影照相机与透视投影照相机。

PerspectiveCamera(透视相机)

这种投影模式是被设计用来模拟人类眼睛观察事物的方式。这是3d渲染中最经常使用的投影模式。
代码语言:javascript
代码运行次数:0
运行
复制
PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )
  • fov: 可视角度
  • aspect: 为width/height,通常设置为canvas元素的高宽比。
  • near: 近端距离
  • far: 远端距离

另一种常用的相机就是正交相机,

OrthographicCamera(正交相机)

使用这种投影模式,无论物体离照相机的距离是多少,物体的大小始终保持不变。这在渲染2d场景、UI元素以及其他场景是很有用的。一般说来,对于制图、建模软件通常使用正交投影,这样不会因为投影而改变物体比例。
代码语言:javascript
代码运行次数:0
运行
复制
OrthographicCamera( left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number )
  • left: 视锥左侧面
  • right: 视锥右侧面
  • top: 视锥上侧面
  • bottom: 视锥下侧面
  • near: 近端距离
  • far: 远端距离

除了这两种常用的相机,还有一类特殊的相机

CubeCamera(立方体相机或全景相机)

代码语言:javascript
代码运行次数:0
运行
复制
CubeCamera( near : Number, far : Number, cubeResolution : Number )
  • near: 近端距离
  • far: 远端距离
  • cubeResolution: 立方体的长度

其实全景相机就是前后左右上下六个方向都加上一个透视相机。

StereoCamera(3D相机)

双相机,被用于需要3d立体效果,视差栅栏的场景

其实本质就是左右两个透视相机。

程序你好

程序你好,代码改变世界。专注于分享.Net和Java开发心得、软件架构、人工智能和大数据、物联网和区块链技术、以及各种前端技术。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序你好 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PerspectiveCamera(透视相机)
    • 这种投影模式是被设计用来模拟人类眼睛观察事物的方式。这是3d渲染中最经常使用的投影模式。
  • OrthographicCamera(正交相机)
    • 使用这种投影模式,无论物体离照相机的距离是多少,物体的大小始终保持不变。这在渲染2d场景、UI元素以及其他场景是很有用的。一般说来,对于制图、建模软件通常使用正交投影,这样不会因为投影而改变物体比例。
  • CubeCamera(立方体相机或全景相机)
  • StereoCamera(3D相机)
    • 双相机,被用于需要3d立体效果,视差栅栏的场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档