THREE js四大组件

在Three.js中,要渲染物体到网页,需要四个组件:场景(scene)、相机(camera)、渲染器(renderer)、几何体(geometry)

有了这四大组件,才能通过相机将场景渲染到网页上去。

四大组件:

  1. 场景:场景是所有物体的容器
     // 创建一个场景
    var scene = new THREE.Scene()     

  2. 相机 :相机决定了场景中哪个角度的物体会显示出来,相机有很多种,我们在这里只介绍两种:透视相机和正投影相机。       

        透视相机:即离试点近的物体大,离视点远的物体小,远到几点即为消失,成为灭点;                                                                      正投影相机:  即远处和近处的是一样大  

// 定义一个相机
//var camera = new THREE.PerspectiveCamera=funtion(fov,aspect,near,far)
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);

  相机参数:   

  •  视角fov:视角的大小,可以理解为眼睛睁开的大小,如果设置为0,就是闭上眼睛,什么都看不到;如果设置为180,可以认为视野广阔,但是在180度时,物体在整个可视区域比例会变小
  • 近平面 near : 表示近处裁面的距离,不能设置为负值

  • 远平面far : 表示远处的裁面

  • 纵横比aspect : 实际窗口的纵横比,即宽度除以高度。这个值越大,说明宽度越大,看到的就是宽荧幕,如果这个值小于1 ,看到的就是竖屏的

3.渲染器

渲染器 决定了怎么将场景画到屏幕上, 通过计算显示到屏幕上,计算的过程叫做渲染。

//var renderer = new THREE.WebGLRenderer();
// 定义一个渲染器
var renderer = new THREE.WebGLRenderer();
// 设置渲染器的宽和高
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

4.网络模型:

网络模型(几何体) 就是要显示在场景的对象

//var geometry = new THREE.Geometry();
// 定义一个几何体
var geometry = new THREE.CubeGeometry(1,1,1); 
// 设置几何体颜色
var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
// 创建这个网络模型
var cube = new THREE.Mesh(geometry, material); 
// 将这个网络模型添加到场景中
scene.add(cube);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
three.js是一个用于创建和展示3D图形的JavaScript库。它提供了许多组件和功能,其中包括数据组件。数据组件在three.js中用于存储和管理3D场景中的数据。 在three.js中,数据组件主要包括以下几种类型: 1. 顶点数据(Geometry):顶点数据用于定义3D模型的形状。它包含了模型的顶点坐标、法线向量、纹理坐标等信息。通过创建Geometry对象并添加顶点数据,可以定义出各种不同形状的模型。 2. 材质(Material):材质决定了模型在渲染时的外观效果。在three.js中,有多种类型的材质可供选择,如基础材质(MeshBasicMaterial)、光照材质(MeshLambertMaterial)和Phong材质(MeshPhongMaterial)等。每种材质都有不同的属性和参数,可以通过设置这些属性来调整模型的外观。 3. 纹理(Texture):纹理用于给模型表面添加图像或者颜色。通过将纹理映射到模型的表面,可以实现更加逼真的渲染效果。在three.js中,可以使用Image对象或者Canvas对象作为纹理,也可以加载外部图片作为纹理。 4. 动画数据(Animation):动画数据用于实现模型的动态效果。通过定义关键帧和插值算法,可以创建出各种复杂的动画效果。在three.js中,可以使用Tween.js库或者自定义动画函数来实现模型的动画。 5. 着色器(Shader):着色器用于控制模型的渲染过程。在three.js中,可以使用GLSL语言编写自定义的顶点着色器和片元着色器,从而实现更加灵活和高效的渲染效果。 这些数据组件可以通过three.js提供的API进行创建、修改和管理,从而实现各种复杂的3D场景和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值