模型Model

模型是包含有关 3D 对象(如角色、地形或环境对象)的形状和外观的数据的文件。模型文件可包含各种数据,包括网格、材质和纹理。对于动画角色,它们还会包含动画数据。您通常在外部应用程序中创建模型,然后将它们导入到 Unity 中。

模型=网格+材质+纹理。

网格:3D物体的骨骼。描述了3D物体的形状。
材质:3D物体的皮肉。
纹理:3D物体的纹身。例如斑马身上的花纹。

常见的模型文件的格式:pbx文件。

PBR

Physically Based Render:基于物理的渲染。过去有过一些基于经验的渲染。

网格Mesh

包含了顶点,面,法线,UV ,切线等数据,构成了物体的骨架。
其中面是顶点三元组。

UV

UV就是二维,UV决定了texture如何包裹在三维Mesh上。

纹理Texture

就是图形学中的纹理,主要是凹凸的花纹和光滑面上彩色的图像,在UI中通常指的是2维图片 Unity中自带有纹理导入器,通过选中要修改的纹理,会自动在Inspector中显示纹理属性,更改TextureType来创建Sprite

要从数据的角度看待贴图(texture),而不仅仅把它当做皮肤。 贴图=纹理=texture。贴图应该从数据维度去看待,但是通常意义上的贴图指的是baseColor维度的材质。 PBR:physical based rendering.

材质Material

它是表面各可视属性的结合,这些可视属性是指表面的色彩、纹理、光滑度、透明度、反射率、折射率、发光度等,通过纹理和shader 以及属性的组合形成一种,正是由于材质的定义才让3D世界的物体更具有真实世界的样子。

Material是材质,shader(材质,光照)=>最终渲染。 shader是算法,材质是数据。shader决定了如何把材质数据利用起来。 材质,就是一堆texture。texture不仅仅描述一个图片,而是表示数据。baseColor(也称颜色贴图)、法线map(normal)、粗糙程度(roughness)、金属度(metalic)、发光(emitness)等每一个维度都可以看做是一个texture。

常见的Material的分量:

  • Diffuse/Albedo/BaseColor:漫反射
  • Reflection/Specular:反射
  • Metalness:金属度
  • Glossiness:光泽度
  • Roughness:粗糙度
  • Normal:法线
  • Displacement/Height:置换
  • Bump:凹凸
  • Ambient Occlusion:环境光遮蔽

着色器shader

在 Unity 中,着色器分为三大类。每个类别的用途不同,使用方式也不同。

  • 作为图形管线一部分的着色器是最常见的着色器类型。它们执行一些计算来确定屏幕上像素的颜色。在 Unity 中,通常是表面着色器和顶点片段着色器。
  • 计算器在常规图形管线之外,在 GPU 上执行计算。
  • 光线追踪着色器执行与光线追踪相关的计算。

shadergraph、vfx

现在的shadergraph和vfx都是以可视化的形式去编辑shader,不需要写代码。