three.js的基础使用

JavaScript016

three.js的基础使用,第1张

1、npm 引入(需安装npm, 安装three, 不需要单独引入loader等)。

2、通过外部cdn链接直接引入(直接html起步,简单一把梭,需单独引入loader, model, controls等)。

1、创建场景

2、可以设置background和environment.

3、接下来所有的object都需要添加在scene中。

1、相机类型有

2、创建相机

1、创建渲染器

2、放入场景和相机,并挂载到HTML上。

1、three.js中有很多元素可以添加,比如Line,Geometry, Helper, light ,还可以引入图片或者模型model(需要loader).

1、

2、

1、主体script需添加type="module", 不然不起作用。

2、要在html里直接使用three.js,需要添加importmap

3、安装live preview扩展,创建本地服务器,解决跨域问题。

前言

本文不会对Three.js几何体、材质、相机、模型、光源等概念详细讲解,会首先分成几个模块给大家快速演示一盒小案例。大家可以根据这几个模块快速了解Three.js的无限魅力。

学习

我们会使用Three.js简单做一个立方体,为了大家更能宏观的了解Three.js。我将会分解成代码段(模块)来进行开发。

模块如下:

场景对象

网格模型

光源

相机

渲染器对象

渲染操作

1. 创建html文件

首先,我们得创建一个html文件,这样才有地方开发。创建完成后,我们可以引入Three.js文件,今天,它可是主角。我是直接引入远程URL地址进行加载,你也可以去官网进行下载到本地引入。

2. 创建场景对象

借助Three.js引擎创建好一个虚拟的三维场景。

3. 创建网格模型

这行代码new THREE.BoxGeometry(200, 200, 200)的意思是创建了一个长200、宽200、高200的立方体对象。然后并通过代码new THREE.MeshLambertMaterial给立方体对象定义材质,这里可以理解成立方体的属性(包含了颜色、透明度等属性),这里暂时列举颜色属性。然后我们需要将立方体与属性联系起来,就用到网格模型,将两者作为构造函数Mesh的两个参数传进去,最后添加到场景里面。

4. 设置光源

代码new THREE.PointLight('#fff')创建了一个点光源对象,参数#fff定义的是光照强度, 你可以尝试把参数更改为#666,你会看到立方体的表面颜色变暗,这很好理解,实际生活中灯光强度变低了,周围的景物自然暗淡。比如夜空中的照明弹就是一个点光源例子。代码THREE.AmbientLight('#333')创建了一个环境光对象,环境光的颜色会影响到整个场景,环境光没有特定的光源,是模拟漫反射的一种光源,因此不需要指定位置它能将灯光均匀地照射在场景中每个物体上面,一般情况下用来弱化阴影或者添加一些颜色到环境中,因此不能将环境光作为场景中的唯一光源。

。。。。。。。。。。。。。

作者:Vam的金豆之路

篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/50733.html