【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
  • 需要光照的物体:MeshPhongMaterialMeshLambertMaterial
  • 真实感渲染:MeshStandardMaterialMeshPhysicalMaterial
  • 自定义效果:ShaderMaterial