材质系统(1):起源与概念

目录

前言

[1. 材质系统的源头](#1. 材质系统的源头)

[2. 材质系统与光照模型的关系](#2. 材质系统与光照模型的关系)


前言

材质系统是计算机图形学的一部分。在图形学中,材质(Material)是一种描述表面外观的属性。在三维计算机图形中,通常需要为每个物体指定材质,以便在渲染时准确地呈现物体的外观。材质可以包括多个属性,例如颜色、反射率、透明度等等。

本文主要内容来源为计算机图形学核心知识、本人项目经验以及GPT辅助。如有错误烦请指正。

计算机图形学主要研究的领域有三个:建模、渲染、动画。

(1)建模(Modeling):构建三维的几何模型

(2)渲染(Rendering):将模型显示在屏幕上

(3)动画(Animation):模拟真实世界的物理运动

三者有部分的先后继承关系:渲染依托场景中建好的模型,动画依托模型运动以及渲染表现。

材质系统是渲染环节着重研究的内容。以下是一些该领域常见名词:

|----------|---------|
| 英文名 | 中文名 |
| material | 材质 |
| texture | 贴图、纹理 |
| shader | 着色器 |

当在引擎中创建一张材质后会自动分配默认的shader,材质可以没有贴图,即显示纯色。

1. 材质系统的源头

材质系统的概念并没有一个明确的单一起源或提出者,因为它是随着计算机图形学的发展逐渐演进和完善的。材质系统的发展与3D图形渲染技术、着色器技术、以及对真实世界物理特性模拟需求的增加紧密相关。在早期的计算机图形学中,材质的外观主要通过简单的颜色和纹理来定义,但随着技术的进步,材质系统变得越来越复杂,包含了更多关于光与物质相互作用的物理属性。

第一阶段:早期材质系统

在20世纪70年代和80年代,随着3D计算机图形学的初期发展,人们开始尝试模拟现实世界中不同材质的表面特性。那时,材质系统通常包括基础的颜色和纹理贴图,但这些系统相对简单,并没有形成完整的理论体系。

第二阶段:纹理映射技术普及

到了90年代,随着实时渲染技术的发展,尤其是随着实时3D游戏和高级视觉效果需求的增加,材质系统开始包含更高级的属性,如反射、折射、凹凸映射等,以实现更加逼真的视觉效果。

第三阶段:PBR的普及

21世纪初,特别是随着PBR(基于物理的渲染)理念的提出和普及,材质系统开始更加注重物理真实感,模拟光线在不同材质表面的物理行为。PBR的概念在很大程度上统一了材质系统的参数和工作流程,促进了材质系统在游戏和电影制作等领域的标准化。

2. 材质系统与光照模型的关系

材质系统和光照模型在计算机图形学中是紧密相关但各自独立的两个概念,它们共同作用于渲染过程中,以模拟和再现真实世界中物体的视觉外观。下面是它们之间的关系:
材质系统

材质系统负责定义物体表面的视觉特性,包括:

  • 颜色(Color):物体表面的基本颜色(固有色)。
  • 纹理(Texture):表面的细节,如图案和细微结构。
  • 粗糙度(Roughness)或光泽度(Glossiness):表面反射光的柔和度或镜面反射的清晰度。
  • 金属度(Metalness):材质是否反射像金属那样的光线。
  • 透明度(Transparency)和折射率(Refractive Index):控制光线通过物体的程度和弯曲程度。
  • 法线(Normal)、凹凸(Bump)和置换(Displacement)贴图:增加表面的复杂几何细节。

光照模型

光照模型则关注光线如何与场景中的对象相互作用,包括:

  • 光源类型:如点光源、聚光灯、无限远光(太阳光源)、环境光源等。
  • 光照强度:光源发出的光量。
  • 光照颜色:光源发出的光的颜色。
  • 阴影:光线被物体遮挡产生的效果。
  • 全局光照(Global Illumination, GI):考虑了场景中所有表面相互之间的光照影响,如反射和折射。

两者关系

  • 相互作用:材质系统定义了物体表面对光的反应方式,而光照模型则提供了光的来源和特性。材质的外观在很大程度上取决于光照条件,而光照效果也会因材质的不同特性而变化。
  • 渲染结果:在渲染过程中,材质系统和光照模型相结合,决定了最终图像的视觉效果。例如,一个高光泽度的材质会在强光源下产生明显的高光点,而在柔和的光照条件下则看起来更均匀。
  • 真实感模拟:材质系统的参数通常需要与光照模型的特性相匹配,以实现更加逼真的渲染效果。例如,在物理上准确的渲染(PBR)中,材质的金属度、粗糙度等参数与光照模型的物理基础紧密相连。
  • 艺术控制:艺术家和设计师可以通过调整材质和光照参数来创造不同的视觉效果和情绪,这对于电影、游戏、建筑可视化等应用至关重要。
相关推荐
ChinaZ.AI6 小时前
Flux 最新最快ControlNet模型现身:法线贴图详细测评
贴图
雨涵和大地7 小时前
ThreeJS通过制作渐变光效贴图方式实现光柱效果
贴图
Artistation Game2 天前
九、怪物行为逻辑
游戏·unity·游戏引擎
妙为2 天前
unreal engine5制作动作类游戏时,我们使用刀剑等武器攻击怪物或敌方单位时,发现攻击特效、伤害等没有触发
游戏·游戏引擎·虚幻·碰撞预设
dangoxiba2 天前
[Unity Demo]从零开始制作空洞骑士Hollow Knight第十三集:制作小骑士的接触地刺复活机制以及完善地图的可交互对象
游戏·unity·visualstudio·c#·游戏引擎
摩尔线程2 天前
使用MTVerseXR SDK实现VR串流
3d·xr·图形渲染·vr·摩尔线程
先生沉默先3 天前
使用Materialize制作unity的贴图,Materialize的简单教程,Materialize学习日志
学习·unity·贴图
闲人编程3 天前
使用Python实现图形学的阴影贴图算法
python·算法·图形学·贴图·阴影贴图
幻狐boke3 天前
【mod分享】山脊赛车无限高清重置mod,替换高清贴图和光影材质,可实现reshade光追
游戏·贴图
foenix663 天前
使用高模烘焙贴图为低模添加细节:详细教程
贴图