【threejs】材质Material
几何体 Material
材质决定了物体的外观,包括颜色、纹理、透明度、光照反射等属性,Three.js 提供了多种内置的材质。
MeshBasicMaterial- 基础网格材质(不受光照影响,仅显示颜色或纹理。适用于不需要光照的简单物体、背景、调试等。)MeshPhongMaterial- Phong 网格材质(受光照影响,支持高光反射。适用于需要高光反射的物体(如塑料、金属))MeshLambertMaterial- Lambert 网格材质(受光照影响,但不支持高光反射。适用于需要漫反射的物体(如布料、纸张))MeshStandardMaterial- 标准网格材质(受光照影响,基于物理的渲染(PBR),支持金属度和粗糙度。适用于需要真实感渲染的物体(如金属、陶瓷)。)MeshPhysicalMaterial- 物理网格材质(受光照影响,MeshStandardMaterial 的扩展,支持更多物理属性(如清漆、透光率)。)MeshToonMaterial- 卡通网格材质(卡通风格的渲染,颜色分层。适用于卡通风格的物体。)MeshNormalMaterial- 法线网格材质(显示物体的法线方向。适用于调试法线或创建特殊效果。)MeshDepthMaterial- 深度网格材质(根据物体与相机的距离显示灰度颜色。适用于深度可视化或后处理效果。)ShaderMaterial- 着色器材质LineBasicMaterial- 基本线框材质LineDashedMaterial- 虚线材质Material- 材质的抽象基类MeshDistanceMaterial- 距离网格材质MeshMatcapMaterial- Matcap 网格材质PointsMaterial- 点材质RawShaderMaterial- 原始着色器材质ShadowMaterial- 阴影材质SpriteMaterial- 点精灵材质
文档:https://threejs.rocyuan.top/docs/?q=m#api/zh/materials/MeshBasicMaterial
材质选择
- 简单物体:
MeshBasicMaterial - 需要光照的物体:
MeshPhongMaterial或MeshLambertMaterial - 真实感渲染:
MeshStandardMaterial或MeshPhysicalMaterial - 自定义效果:
ShaderMaterial