一、前言
材质和纹理有那么一点微妙的关系,纹理决定了物体的表面,而材质则决定了物体的“气质”,比如说,反射度,光滑度,金属感,塑料感或者玻璃的模仿等。当然,在 ThreeJs 中,纹理想要被展示出来是要被依附在材质中的。
二、概述
ThreeJs 中定义了非常丰富的材质,其类图如下。
从类图上看,定义了非常多的材质。
三、认识材质
1.Material
2.LineBasicMaterial
3.LineDashedMaterial
1 | 复制代码var material = new THREE.LineDashedMaterial( { |
4.MeshBasicMaterial
5.MeshDepthMaterial
6.MeshLambertMaterial
7.MeshNormalMaterial
8.MeshPhongMaterial
9.MeshPhysicalMaterial
10.MeshStandardMaterial
11.MeshToonMaterial
12.PointsMaterial
13.RawShaderMaterial
1 | 复制代码var material = new THREE.RawShaderMaterial( { |
14.ShaderMaterial
1 | 复制代码var material = new THREE.ShaderMaterial( { |
15.ShadowMaterial
1 | 复制代码var planeGeometry = new THREE.PlaneGeometry( 2000, 2000 ); |
16.SpriteMaterial
1 | 复制代码var spriteMap = new THREE.TextureLoader().load( 'textures/sprite.png' ); |
四、总结
ThreeJs 的内置材质非常的多,项目里可以根据需要来实际使用。如果内置的不能满足则使用 ShaderMaterial 来实现自定义的 Material。
本文转载自: 掘金