Threejs - 相机? 什么是相机? 照相机?

简介: Threejs - 相机? 什么是相机? 照相机?

相机

常见的相机有两类:透视相机 和 正交相机


透视相机

成像有近大远小的感觉,最接近自然的视图(图片引用网络图片)image.png

/*一:透视相机*/    /**     * 视角 :45度     * 宽高比 :window.innerWidth / window.innerHeight     * 近平面距离 :1     * 远平面距离 :1000     */    const camera = new THREE.PerspectiveCamera(45, width / height, 1, 1000); //视角 宽高比 近平面距离    //相机位置    // camera.position.x = 10;    // camera.position.y = 10;    // camera.position.z = 10;    // camera.up.x = 0;    // camera.up.y = 0;    // camera.up.z = 0;    // camera.lookAt(0,0,0);//x,y,z    camera.position.set(10,10,10); // 相机的位置    camera.lookAt(0,0,0); // 相机看着的方向


正交相机

成像有近大远小的感觉,最接近自然的视图(图片引用网络图片)image.png

/*二:正交相机*/    /**     * OrthographicCamera( left, right, top, bottom, near, far )     * 这里的 上下左右  是偏移量     * 这里添加了一个比例,如果相机的宽度个高度的比例和渲染的比例对不上,最后渲染出来就会变形     * near 观察者到最近的裁剪面的距离     * far 观察者到最远的裁剪面的距离     */    const acspet = width / height;    const camera2 = new THREE.OrthographicCamera(-5 * acspet, 5 * acspet, 5, -5, 1, 100);    camera2.position.set(10,10,10)    camera2.lookAt(0, 0, 0);

除了上述两种常用的相机,还有 CubeCamera(立方体相机或全景相机)和 StereoCamera(3D相机),这里就不做过多的阐述,想要学习的同学可以翻看threejs 官方文档


这一节我们说到相机,经过这两节的代码熟悉 我们知道了 THREE的 三大必要条件 :scene,camera,renderer 场景中必然有物体,有物体就可能有灯光,有灯光就可能有阴影...

下一章节我们将详细阐述灯光和阴影(后面章节我们会重点学习)


相关文章
|
数据可视化 索引
数据可视化之antv/g6 元素之边(edge)
数据可视化之antv/g6 元素之边(edge)
2551 0
|
5月前
|
JavaScript Java 关系型数据库
基于springboot的小区维修管理系统
针对城市园林社区维修管理效率低、信息不透明等问题,本研究基于Java技术,结合MySQL、Spring Boot、Vue等框架,设计并实现了一套B/S架构的智能化维修管理系统,提升物业管理水平与业主满意度。
|
JavaScript 前端开发
JavaScript Array map() 方法
JavaScript Array map() 方法
|
边缘计算 Kubernetes Linux
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
504 1
|
数据可视化 Linux 网络安全
零基础搭建WordPress博客全流程指南!
本指南详细介绍如何使用宝塔面板与WordPress搭建个人博客。宝塔面板提供可视化操作,简化服务器管理;WordPress拥有丰富的主题和插件生态,支持快速建站。教程涵盖准备阶段(服务器、域名、面板安装)、环境配置、站点创建、SSL证书申请、WordPress一键部署及网站配置等步骤,并推荐必备插件提升安全性和性能。零基础用户也可轻松上手,适合日均5000PV以下的博客需求,扩展性强,助你开启创作之旅。
1378 7
|
SQL 大数据 程序员
聊聊 SQL 语句中的占位符
大家都知道,在 SQL 语句中,可以使用 LIKE 进行模糊查询,但可能大家不知道的是,LIKE 语句的占位符除了 % 占位符之外,还有 _ 占位符,理解这些占位符可以帮助我们更有效地构造查询并进行字符串匹配,提高程序性能
1341 0
|
SQL 安全 JavaScript
如何确保在iframe中加载的表单数据安全传输
如何确保在iframe中加载的表单数据安全传输
|
网络安全
SSL证书为什么要收费?
SSL证书为何要收费?本文解析了五大原因:1) 认证与验证的成本;2) 技术支持和保障的必要性;3) 品牌信誉及责任的维护;4) 不同类型证书的功能差异;5) 商业运作的需求。收费确保了证书的安全性和可靠性。
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
JSON JavaScript 数据格式
vue 绘制波形图 wavesurfer.js (音频/视频) 【实用教程】
vue 绘制波形图 wavesurfer.js (音频/视频) 【实用教程】
1934 3