当前位置: 首页 > news >正文

建设银行四川分行 招聘网站深圳58同城招聘网

建设银行四川分行 招聘网站,深圳58同城招聘网,上海市网站建设定制,淮安市做网站three.js由场景、相机、渲染器、灯光、控制器等几个要素组成。每个要素都有不同的类型,例如光照有太阳光、环境光、半球光等等。每种光照都有不同的属性可以进行配置。 场景 场景(scene):场景是所有物体的容器,如果要…

three.js由场景、相机、渲染器、灯光、控制器等几个要素组成。每个要素都有不同的类型,例如光照有太阳光、环境光、半球光等等。每种光照都有不同的属性可以进行配置。

场景

场景(scene):场景是所有物体的容器,如果要显示一个物体,就需要将物体对象加入场景中。

场景是一个三维空间,是存放所有物品的容器,可以把场景想象成一个空房间,房间里面可以防止要呈现的物体、相机、光源等。

let scene = new THREE.Scene();

相机

相机(camera):相机决定了场景中那个角度的景色会显示出来。相机就像人的眼睛一样,人站在不同位置,抬头或者低头都能看到不同的景色。

let camera = new THREE.PerspectiveCamera(75, 
window.innerWidth/window.innerHeight, 0.1, 1000)

three.js中有两种常用的相机:【透视投影相机(perspectiveCamera)和正交投影相机(OrthographicCamera )】

透视投影相机(perspectiveCamera)!

特点:透视相机的效果是模拟人眼看到的效果,跟人眼看到的世界是一样的,近大远小

用途:大部分场景都适合使用透视投影相机,因为跟真实世界的观测效果一样;

创建透视投影相机:let camera = new THREE.PerspectiveCamera(fov, aspect, near, far);

参数介绍
fov视野:表示摄像机能看到的视野。推荐默认值50
aspect指定渲染结果水平方向和竖直方向长度的比值,推荐默认值为窗口的宽高比,即window.innerWidth/window.innerHeight,如果比例设置的不对,会发现渲染出来的画面有拉伸或者压缩的感觉。
near近端渲染距离:指定从距离摄像机多近的位置开始渲染,推荐默认值0.1
far远端距离:指定摄像机从它所在的位置最远能看到多远,太小场景中的远处不会被渲染,太大会浪费资源影响性能,推荐默认值1000。

近端渲染距离和远端距离:这两个是设置相机可以看到的场景内容的范围,只有离相机的距离大于near值,小于far值,且在相机的可视角度之内,才能被相机投影到。

let camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000
);// 创建透视投影相机// 设置相机位置
camera.position.x = 5;
camera.position.y = 10;
camera.position.z = 10;
// 以上设置相机位置可以简写为:
camera.position.set(5, 10, 10);

正交投影相机(OrthographicCamera)

特点:正交投影则远近都是一样的大小,三维空间中平行的线,投影到二维空间也一定是平行的。

用途:一般是用在制图、建模等方面,方便观察模型之间的大小比例。

创建正交投影相机:let camera = new THREE.OrthographicCamera( left,right, top,bottom, near, far )

参数介绍
left可被渲染空间的左端面
right可被渲染空间的右端面
top可被渲染空间的上端面
bottom可被渲染空间的下端面
near基于相机所在位置,可被渲染空间的近端面
far基于相机所在位置,可被渲染空间的远端面

以上6个参数规定了相机视景体的左、右、上、下、前、后六个面的位置,这六个投影面围成的区域就是相机投影的可见区域。在三维空间内,只有在这个区域内的物体才会被相机看到。

let camera = new THREE.OrthographicCamera(-2, 2, 1, -1, 1, 10); 
// 创建正交投影相机// 设置相机位置
camera.position.x = 5;
camera.position.y = 10;
camera.position.z = 10;
// 以上设置相机位置可以简写为:
camera.position.set(5, 10, 10);

正交投影和透视投影对比

正交投影,物体反射的光平行投射到屏幕上,其大小始终不变,所以远近的物体大小一样。

透视投影,符合我们平时看东西的感觉,近大远小。

渲染器

渲染器(renderder) :渲染器决定了渲染的结果应该花在页面的什么元素上面

Three.js中有很多种类的渲染器,例如webGLRenderer、canvasRenderer、SVGRenderer,通常使用的是WebGLRenderer渲染器。

创建WebGLRenderer渲染器:var renderer = new THERR.WebGLRenderer();

创建完渲染器后,需要调用render方法将之前创建好的场景和相机相结合从而渲染出来,即调用渲染器的render方法:renderer.render(scene,camera)

let renderer = new THREE.WebGLRenderer(); 
// 创建一个 WebGL 渲染器
renderer.setSize(window.innerWidth, window.innerHeight); 
// 通过调用 setSize() 方法设置渲染的长宽(设置渲染器为全屏)
document.body.appendChild(renderer.domElement); 
// 将渲染结果展示到页面上
renderer.render(scene, camera); 
// 结合场景和相机进行渲染,即用摄像机拍下此刻的场景(最后一步)

说明:

setSize() 方法设置渲染的长宽。

renderer 的 domElement 元素,表示渲染器中的画布,所有的渲染都是画在 domElement 上,所以这里的 appendChild 表示将这个 domElement 挂接在 body 下面,这样渲染的结果就能够在页面中显示了。

render()方法中传递我们的场景和相机,相当于传递了一张由相机拍摄场景得到的一张底片,它将图像渲染到我们的画布中。

灯光

灯光(light):模拟显示环境中的光照

let directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);

控制器

控制器(controls):对3D场景进行旋转、放大缩小等操作

let controls = new OrbitControls(camera, renderer.domElement);

three.js基本要素:

物体(拍摄对象):几何体模型、材质、网格

光源

码字不易,各位大佬点点赞呗。

http://www.yayakq.cn/news/617355/

相关文章:

  • 开发软件和做网站的区别广东手机网站建设价格低
  • 郑州哪家公司给国外做网站化妆品网络营销策划方案
  • 网站logo修改安徽响应式网站建设哪家有
  • 养老院微网站建设方案wordpress 修改
  • zencart网站哈尔滨网站建设方案
  • iis网站服务被禁用职参简历网站
  • 淄博知名的做网站推广龙岗建设高端网站
  • 网站的关于我们页面关于公司做网站供比价报告
  • 南昌网站开发培训学校建一个门户网站多少钱
  • 小程序代码怎么写windows优化大师在哪里
  • o2o网站建设要多少钱wordpress转hexo
  • 泉州网站建设培训建筑工程考试题库
  • 网络运营是做什么的工作济宁优化网络公司
  • 培训网站建设万能浏览器
  • asp静态网站源码百度数据库
  • 海口模板建站公司群晖做网站服务器会卡吗
  • 江西九江刚刚发生的新闻学生班级优化大师
  • 网站后台图片模板免费婚庆网站模板
  • 网站怎么防止黑客攻击做股东变更要上哪个网站
  • 网站建设公司的工资广告制作合同
  • 淘宝客网站怎么做推广计划表白网站制作
  • 用手机制作app太原seo团队
  • 静态网站百度官方网站怎么做
  • 网站运营需要 做哪些工作阿里云大学 网站建设
  • 电子商务网站建设的方法和工具网页游戏排行2013
  • 六安 网站建设uc下一页
  • 深圳拼团手机网站开发设计logo网站 生成器
  • 杭州网站建设哪家好嵌入式开发要学哪些课程
  • 医院网站和微信公众号建设方案网站ftp管理工具
  • 做一个自己的网站多少钱注册公司的网站是什么