添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

https://www.bilibili.com/video/BV1hD4y1h7pi?t=0.7

【使用 Three.js 实现的效果】

一、纹理和材质

纹理:简单来说就是给我们创建好的实体填上一层好看的皮囊。

首先我们要导入纹理 THREE.TextureLoader()

之后我们给纹理附上我们想要的图片(纹理图片很容易百度到)

我们来创建物体 new THREE.BoxBufferGeometry()

导入材质,给 map 赋值为我们的纹理 (map —> 颜色贴图)

之后结合我们的物体和材质,添加到场景中即可

关键代码:

此处的纹理是这样的(随便百度到的):


a69305cf027a490c8c5e9deee7520ad9.png

渲染后的效果:

87f096c2068e4888a2258ba16c935497.png

二、纹理常用属性

1、偏移属性

.offset 偏移属性:即让纹理贴图在物体上做偏移

f5030763b99e49f2bc39def74ea92a6d.png

2、旋转属性

.rotation 纹理将围绕中心点旋转多少度,单位为弧度(rad),正值为逆时针旋转,默认值问为 0

a0a0ec7a390e4084b7086446a991e780.png

3、旋转中心点

.center 旋转中心点 (0.5, 0.5) 对应纹理的中心,默认为 (0, 0)

d9237b927adf48b3ade2499081cd7ffd.png

4、纹理的重复

.repeat 让纹理在物体上重复

e57485c982cf47389b9d91323ded1289.png

三、透明纹理

1、添加透明纹理

.alphaMap: Texture

alpha 贴图是一张灰色纹理,用于控制整个表面的不透明度(黑色:完全透明;白色:完全不透明)。默认值为 null。

我们在一个面一个门的基础上,添加透明纹理,透明纹理图片如下:

42c20986d0834f128bc9559952c911d7.png

我们首先使用纹理加载器把透明纹理添加进来,之后再在基础材质中添加,注意还要设置透明属性

1c4995f650fd4822a6c5b1cbc26ff516.png

2、添加平面(渲染前面)

我们在网格中添加一个二维平面,设置为基础材质。注意设置一定的距离。

fa43790323c3450ba776bd1cf772fddd.png

75f6d78afd32428abb26c6b849b3f3bb.png

3、平面两面 / 背面渲染

当我们想渲染两面或者只渲染背面的时候,我们只需要设置一个 side 属性即可

a9e8bb1f5464436fa089ae10e2c677f6.png

8623ba3b10224814bb037868907692b4.png

四、环境遮挡贴图与强度

.aoMap 该纹理的红色通道用作环境遮挡贴图。默认值为 null。aoMap 需要第二组 UV。


【UV:纹理坐标通常具有U和V两个坐标轴,因此称之为UV坐标。U代表横向坐标上的分布、V代表纵向坐标上的分布。】


在此我们做一个演示,即实现我们给下面第一张图片添加上第二张图片的观感强度,从而实现第三四张图片的效果(立体逼真感)


完整代码和图片资源可以通过下方方式加入进来自行获取:

e5086d16e32a4ab39511e5b7d2878c66.png

7c1ea5d7c4fe4c72b46c125bdfcf5907.png

21de88c38f494c759b6bbcd3270ad3ed.png

5bcd8a49e7624ea9bb6afa1f8853fbd6.png

10284b7883124036b30ff01e3a0acc3e.png

在这里,我们要使用 aoMap,注意此属性需要第二组 UV,所以我们需要使用自定义属性手动添加第二组 UV,参考代码如下:

bbfcef355b4d4c31a896ab0cf953c57a.png

五、写在最后(附源码和图片资源)

这篇文章看完是不是又收获满满呢,接下来进行一下实操练习吧。

相关资源可以通过下面方式加入进来,自行获取。

45fc82a82c6542bdb2ff4986377d8db3.png


【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(一)
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(一)
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(二)
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(二)