【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