three.js - MeshStandardMaterial(标准网格材质)- 金属贴图、粗糙贴图

金属贴图、粗糙贴图


javascript 复制代码
金属贴图:`metalnessMap` 和 粗糙贴图:`roughnessMap`,是用于模拟物体表面属性的两种重要贴图技术,

这两种贴图,通常与基于物理的渲染(PBR)材质(如:`MeshStandardMaterial`)一起使用,以创建更真实和逼真的3D渲染效果。
  • 金属贴图metalnessMap
javascript 复制代码
1、定义:金属贴图,用于定义模型表面的金属度,即:材质像金属的程度

2、贴图原理:
	金属贴图,通常使用'灰度图像',
	其中,
	'白色':表示,完全金属质感的区域,
	'黑色':表示,非金属质感的区域,
	'灰度值':则表示不同程度的金属质感,

3、使用方式:通过为`MeshStandardMaterial`的`metalnessMap`属性提供一个纹理贴图,可以控制模型表面不同区域的金属度。
  • 粗糙贴图roughnessMap
javascript 复制代码
1、粗糙贴图,用于定义模型表面的粗糙程度,即:表面的光滑或粗糙程度。

2、贴图原理:
	粗糙贴图,通常使用'灰度图像',
	其中,
	'白色':表示,非常光滑的表面,
	'黑色':表示,非常粗糙的表面,
	'灰度值':则表示不同程度的粗糙度,

3、使用方式:通过为`MeshStandardMaterial`的`roughnessMap`属性提供一个纹理贴图,可以控制模型表面不同区域的粗糙度。

标准网格材质

standard标准网格材质:Mesh - Standard - Material

是一种基于物理的渲染(PBR)材质,使用了 Metallic-Roughness 工作流程,它能够创建出具有真实感的物体表面效果。

  • 核心:使用此材质时,必须,始终指定environment-map

基础特性

  • 考虑了光照、漫反射、镜面反射,等效果,使渲染的物体具有现实感。

  • 通过调整,金属度:metalness 和 粗糙度:roughness,等参数,可以精确地控制物体表面的反射散射特性。


常用参数

  • metalness:金属度

    javascript 复制代码
      
      定义材质的金属度,范围从0(非金属)到1(金属);金属表面具有'高反射性'和'镜面效果';
    
      非金属材质,如:木材、石材,使用 0.0;
      
      金属使用 1.0,通常没有中间值;
      
      默认值为:0.0;
    
      0.0 ~ 1.0 之间的值,可用于生锈金属的外观
  • roughness:粗糙度

    javascript 复制代码
      
      定义材质的粗糙度,范围从0(光滑)到1(粗糙)。粗糙的表面会散射光线,产生漫反射效果;
    
      0.0:表示,平滑的镜面反射
      
      1.0:表示,完全漫反射
      
      默认值为:1.0
    
      另外:如果还提供roughnessMap,则两个值相乘。

相关推荐
三维搬砖者1 天前
AI 解密大厂 Three.js 三维引擎开发 03|从经纬度到三维世界的坐标解码
webgl·three.js
一马平川的大草原9 天前
基于Vue+Three.js实现三维油藏模型解析与可视化交互切割操作
vue.js·three.js·三维油藏模型
RulerMike10 天前
three 实现简单机械臂逆运动
前端·ai编程·three.js
程序员阿峰12 天前
前端3D·Three.js一学就会系列:第二 画线
前端·three.js
程序员阿峰13 天前
前端3D·Three.js一学就会系列: 第一个3D网站
前端·three.js
烛阴13 天前
Three.js 场景完全入门指南:让你的 3D 场景不在乱成一团
webgl·three.js
ai超级个体16 天前
前端下午茶:这 3 个网页特效建议收藏(送源码)
前端·three.js·threejs·网页设计·vibe coding·网页灵感·网页分享
codingWhat18 天前
用 three.js 实现 3D 地图
three.js
答案answer22 天前
我的Three.js3D场景编辑器免费开源啦🎉🎉🎉
前端·github·three.js
一拳不是超人23 天前
Three.js一起学-如何通过官方例子高效学习 Three.js?手把手带你“抄”出一个3D动画
前端·webgl·three.js