Three.js学习笔记-Materials(材料)

Material

抽象的所有材料的基类,展示了对象的外观
构造函数
Material()
特性
- alphaTest : Float 渲染的材质的opacity小于这个设定的值时将不会被渲染出来
- blendDst: Integer 材料的混合必须设置为CustomBlend,这样才能产生任何效果
- blendDstAlpha: Integer 默认null
- blendSrc 混合源,默认SrcAlphaFactor
- blendSrcAlpha
- blendEquation: Integer 应用混合时使用的混合方程,默认AddEquation
- blendEquationAlpha: Integer 默认null
- blending: Blending 设置为CustomBlending时才可用blendSrc,blendDst,blendEquation,默认NormalBlending
- clipIntersection: Boolean 改变裁剪平面行为,只要交集被裁剪不是他们的结合,默认false
- clipShadows 默认false
- colorWrite 渲染材料的颜色,默认true
- customDepthmaterial: Material 投射的阴影是太阳光或点光源 默认undefined
- customDistanceMaterail 用在点光源 默认undefined
- defines/depthTest/depthWrite/depthFunc/flatShading/fog/id/name/opacity/needsUpdate 自动设为true
- lights: 默认true,表示材质受到灯光的影响
- shadowSide : Integer 哪一个面投影阴影,默认null
- type: 值为Material,找相应的类型/uuid/visible/userData

方法
- clone()/copy(material)/dispose()/setValue(value)/toJSON()/onBrforeCompline(shader,renderer)

LineBasicMaterial

构造函数
LineBasicMaterial(parameters: Object) 可选的参数
- color/linewidth/linecap 线的结尾样式(butt,默认round,square,)/linejoin 相交的样式(默认round,bevel,miter)
特性
- lights 是否收到光的影响,默认false

LineDashMaterial

构造函数
LineDashMaterial(parameters: Object) 可选的参数
- color/linewidth/dashSize默认3/gapSize默认1/scale默认1,

MeshBasicMaterial

构造函数
MeshBasicMaterial (parameters: Object)
特性
- alphaMap: 一个灰度贴图,控制表面的不透明度,黑丝透明,白色不透明
- aoMap: 该纹理的红色通道用来环境遮挡图
- aoMapIntensity: 默认1
- color 默认0xffffff
- combine 如何将便面颜色和envMap结合起来(存在的话),默认THREE.Multiply
- envMap: 环境贴图,默认null
- lightMap/lightMapIntersity/lights 是否受灯光的影响,默认false
- map 颜色贴图/morphTargets 材料是否启用形态目标,默认false
- reflectivity envMap对表面的影响。默认1,完全影响/reflactionRatio 0~1 默认0.98
- skinning 材料是否使用skinning,默认false
- specularMap 镜面图,默认false
- wireframe 默认false,渲染几何体为线条/wireframeLinecap/wireframeLinejoin/wireframeLinewidth

MeshDepthMaterial

白色最近的,黑色最远的

MeshLambertMaterial

用于无光泽表面,没镜面的高光的材料

MeshNormalMaterial

将法线矢量映射到RGB颜色的材料

MeshStandarMaterial

特性
- metalness 这种材料多像金属,默认0.5
- metalnessMap 纹理的蓝色通道用来改变材料的金属度

MeshPhongMaterial

有镜面高光的有光泽的材料

MeshToonMaterial

MeshPhongMaterial的扩展,带有toon 阴影
特性
- gradientMap 梯度图,给toon 阴影,默认null

PointsMaterial

特性
- size points的大小 默认1.0
- sizeAttenuation 随这距离的边缘,点的大小变小,默认true

ShaderMaterial

定制着色器渲染的材料

RawShaderMaterial

和上面的差不多,但内置的uniform和属性不会自动添加到GLSL着色器代码中

ShadowMaterial

用来接收阴影,但其他的地方全是透明的
特性
- transparent: 材料是否透明,默认true

SpriteMaterial

和Sprite一起使用的材料
特性
- rotation: Radians 默认0

猜你喜欢

转载自blog.csdn.net/u013270347/article/details/81162554