笔记07 图形 2.2 模型与材质基础

铁名_IronName Lv4

图形 2.2 模型与材质基础

一、渲染管线与模型基础

渲染流水线

已有的相关笔记:读书笔记01《Unity Shader入门精要》笔记04 技术美术百人计划 图形 1.1~1.3

UV

UV如同一个矿泉水瓶的包装纸,将它划开,平铺在一个二维的坐标系中。
瓶子的每个位置(模型的每个顶点),在三维空间和二维空间中都能一一对应。在二维坐标系中的顶点对应的位置就是顶点的纹理坐标。因此每个顶点都能利用纹理坐标获取到贴图所存储的信息。

在建模软件中进行UV展开UV会放在一个横向为U纵向为V,范围(0-1)的二维坐标系中。
展开后的 UV 在 Substance Painter 中绘制贴图(漫反射贴图、法线贴图、高度贴图、金属度贴图、AO贴图)

一个模型包含的信息(OBJ文件)

V 顶点坐标数据(模型空间中单个顶点的XYZ坐标)
VT 贴图坐标(水平方向是U,垂直方向是V,范围0-1之间)
VN 顶点法线
顶点色(单个顶点的RGBA通道颜色信息)

OBJ格式与FBX格式

#obj格式fbx格式备注
多个object支持支持在文件中存放多个三维模型
单object拥有多个材质支持支持
Polygons面支持支持易于被3ds max等软件编辑加工   注:导入到ue4时,必须为三角形面
Normal支持支持
Material支持支持
光滑组(Smoothing Group支持支持光滑组中的点或面使用平均法线来计算光照,使得整个mesh区域看起来更平滑
uv套数1多套
顶点Color不支持支持导入ue4时,Vertex Color Import Option设置为Replace
ue4 lod不支持支持导入ue4时,勾选Import Mesh LODs
ue4 simple collision支持支持任意凸体碰撞命名规则:UCX_[RenderMeshName]、UCX_[RenderMeshName]_00
socket插槽不支持支持命名规则:SOCKET_[RenderMeshName]、SOCKET_[RenderMeshName]_01
skeleton骨骼不支持支持
skeletal mesh网格不支持支持
animation sequence不支持支持fbx可在文件中存放多个动作序列

二、材质基础

材质

在现实世界里,每个物体会对光产生不同的反应。比如说,钢看起来通常会比陶瓷花瓶更闪闪发光,木头箱子也不会像钢制箱子那样对光产生很强的反射。每个物体对镜面高光也有不同的反应。
有些物体反射光的时候不会有太多的散射(Scatter),因而产生一个较小的高光点
而有些物体则会散射很多,产生一个有着更大半径的高光点

漫反射

漫反射是最容易模拟的模型。比如现实中的石头,水泥,砖块等。
最简单的Lambertian很简单粗暴的认为光线均匀的反射出去

镜面反射

光滑镜面反射。
镜面反射就是将入射光线根据表面法线进行反射,并且只有在反射方向有能量,其他方向能量均为0

折射

对于玻璃这种电介质,除了反射之外还有根据物体的折射率折射一部分光线进入物体之中
反射和折射能量的多少是根据菲尼尔定律决定

粗糙镜面反射

法线偏移较小。反射依然集中在一个区域。
形成磨砂的质感

粗糙镜面折射

这种材质在现实中的例子就是各种毛玻璃

多层材质

例子:涂了透明油漆的木地板

次表面散射

半透明的物体。例如玉石、蜡烛、牛奶、皮肤

多层皮肤模型

我们把皮肤看成三层,油脂层(微量,很薄),表皮层,真皮层。
正是因为有油脂层,因为油脂层直接把光反射出去,所以皮肤上才会有高光产生,
没有被反射的光通过折射进入子表面层,光进入这些层之后部分被吸收(获得颜色)和散射,再从皮肤中入射点附近的出射点射出。这个过程就产生了次表面散射的效果

改变材质表面

现实世界中不存在完美平滑的表面,并且一个模型顶点携带的法线也有限。因此使用法线贴图能做到补充。漫反射,高光,折射的计算都有法线参与,因此对法线做出调整,就能影响其光照计算的结果。
虽然材质特别重要,但是没有一个好的模型,依然不会有好的效果。有时候模型就能表现出它的金属感,布料感。材质在这些基础上就能给人一个更加直观的感受。

三、模型数据解析

模型数据在渲染中的作用

1.顶点动画一在顶点着色器中,修改模型的顶点位置。进而达到模型运动的效果
2.纹理动画一在片段着色器中,修改模型的UV信息,使得采样贴图时,发生位移而产生运动效果
3.顶点色一在渲染时,影响输出结果。控制颜色范围

纹理动画

UV坐标动画或UV平移的含义是,水平(U)和/或垂直(V)移动纹理的UV
坐标,以产生复杂动画的错觉。
水面效果——利用法线贴图,改变反射与折射的朝向
纹理动画——改变UV采样点的位置,产生动画效果

顶点动画

顶点动画就是在顶点着色器中对模型的顶点进行进行操作进而产生动画效果。
顶点着色器计算的是模型的每一个顶点,每个顶点的数据是不同的。因此同一个计算公式在不同的顶点上,计算出来的结果也是不同的
在一些三维建模软件中,动画的K帧也是一种顶点动画

旗帜飘动

顶点动画需要一定数量的顶点,效果才会比较明显
一个顶点传入一个顶点着色器,顶点着色器控制顶点位置时所有的顶点都会进行一样的算法。
获取顶点UV坐标,控制移动的数值大小(UV范围0-1)

顶点色

计算过程中把顶点色与阈值作比较,控制效果。

插值原理

插值操作是在光栅化阶段进行的。所以这些XY坐标可以理解为屏幕坐标
点D的真实坐标为 (x,y)(x,y),重心坐标为 (α,β,γ)(\alpha,\beta,\gamma),该点是三个顶点直角坐标的线性组合系数之和为1,每个系数都是非负的。

(x,y)=αA+βB+γC,α+β+γ=1α=(xxB)(yCyB)+(yyB)(xCxB)(xAxB)(yCyB)+(yAyB)(xCxB)β=(xxC)(yAyC)+(yyC)(xAxC)(xBxC)(yAyC)+(yByC)(xAxC)γ=1αβ\begin{aligned} & (x,y)=\alpha A+\beta B+\gamma C,\alpha+\beta+\gamma=1 \\ & \alpha=\frac{-(x-x_B)(y_C-y_B)+(y-y_B)(x_C-x_B)}{-(x_A-x_B)(y_C-y_B)+(y_A-y_B)(x_C-x_B)} \\ & \beta=\frac{-(x-x_C)(y_A-y_C)+(y-y_C)(x_A-x_C)}{-(x_B-x_C)(y_A-y_C)+(y_B-y_C)(x_A-x_C)} \\ & \gamma=1-\alpha-\beta \end{aligned}

顶点法线与面法线

(面法线)未使用平滑时,三角形三个顶点共用一个法线。那么插值时,因为三个顶点的法线相同,所以插值的结果相同。
(顶点法线)使用平滑后,一个顶点一个法线。三角形三个顶点的法线也就不相同。插值结果,也就会不同。

描边效果

在NPR渲染中,通常在顶点着色器中,将顶点往法线方向偏移。然后再片段着色器中直接输出一个颜色,达到描边的效果。
BackFacing描边时,线条之间断开就是因为没有平滑顶点之间的法线,法线不连续导致的

-作业-

Q1:顶点色还可以做什么?
A1:搭配阈值,控制阴影/高光等。存在纹理中的信息可以直接往顶点色里存。但是会有精度缺失,插值只适合线性变化的那种。

Q2:模型光滑组对法线有什么影响?

  • 光滑组的定义:光滑组是指在3D建模软件中,用于定义模型表面相邻面的法线方向关系的属性,同一光滑组内的相邻面法线方向均匀过渡,视觉上呈现光滑效果,不同光滑组则会形成硬边。在次世代模型制作中,光滑组与UV拆分紧密关联,夹角≤90度的边需断开UV并分配不同光滑组,以避免烘焙后出现硬边错误。它类似于Maya中的软硬边,通过少量面即可表现光滑曲面,减少模型面数,同时确保烘焙法线贴图时的光影过渡自然。
  • 对法线的影响:光滑组本质上定义了顶点法线的计算范围:同一光滑组内的相邻面会共享顶点并平均法线,使表面呈现光滑过渡;不同光滑组的面则会在交界处断开顶点关联,各自计算法线,形成明显的硬边。例如圆柱模型的侧面若使用同一光滑组,顶点法线会沿圆周均匀分布,表现为连续曲面;若在UV切割处设置不同光滑组,切割线两侧的法线方向会突变,形成视觉上的接缝。
  • 对法线烘焙的连锁反应 法线烘焙依赖低模的顶点法线信息来传递高模细节。当光滑组设置不当,会直接导致以下问题:
    • 黑边与接缝:硬边(不同光滑组)若未断开UV,烘焙时射线计算会丢失信息,在转折处形成黑色接缝;反之,软边(同一光滑组)若强制断开UV,会出现法线渐变异常。
    • 错误光影过渡:同一光滑组内的大角度转折(如接近90°的折角)会导致法线平均后产生“渐变异常”,表现为平面上出现无规律的明暗变化,这是因为光滑组强制将本应分离的法线进行了融合。
    • 法线锁定风险:导出模型时若未保留光滑组信息,顶点法线会被固定为导入时的状态,后续编辑光滑组将无法改变法线方向,需通过“重置法线”功能恢复。
UV是否断开为什么会有区别?

当夹角≤90°的硬边未断开UV时,烘焙后会出现明显接缝——这是因为低模硬边同时存在两个法线方向,而共用UV像素无法同时满足两者需求。反之,软边(同一光滑组)即使UV断开也无需拆分光滑组,如圆柱侧面的UV切割处仍可保持软边,避免硬边产生。

  • 标题: 笔记07 图形 2.2 模型与材质基础
  • 作者: 铁名_IronName
  • 创建于 : 2026-02-15 12:12:23
  • 更新于 : 2026-02-24 10:13:18
  • 链接: https://blog.ironname.top/2026/02/15/笔记07-技术美术百人计划/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论