抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

贴图UV

一个多边形Mesh中有Index Buffer和Vertex Buffer,其中Vertex Buffer上存储着顶点信息,包括顶点坐标、UV、法线、切线

最开始,我们只有顶点坐标,三角形的边向量叉积可以得到面法线,将面法线求和可以得到顶点法线,切线和次切线的方向就是沿着UV方向,那么问题来了,UV是怎么生成的?

UV的用用途

UV是贴图的颜色的索引,可以用来采样贴图,是一种高效的传递模型表面材质信息的方式

UV的分类

UV通常分为全展UV和重叠UV

  • 重叠UV允许模型不同位置采样贴图的同一位置,于是更省空间(或者精度更好)
  • 全展UV模型每一处UV都是不同的,可以用来采样Lightmap信息

UV的生成

我们这里说的都是多边形网格的UV,对于参数表面这类模型,是有天生的UV的

DCC工具允许美术像编辑顶点坐标那样编辑顶点UV,但在这之前,我们需要先将三维的顶点坐标投影(Projector)到二维的UV上

投影方式有球面(spherical)投影、圆柱(cylindrical)投影、平面(planar)投影

UV投影

球面投影:模型顶点坐标和一个虚构的球心会形成一个向量,沿着这个向量将顶点坐标投影到球面上

圆柱投影:u的投影和球面相同,v是模型顶点到虚拟圆锥轴的距离

面投影:将模型顶点做正交投影

美术通常会将模型进行切分,在不同位置应用不同的投影方法

选择不同的投影方法

Corresponder

采样UV和贴图坐标有时范围是不同的(当你进行缩放采样时经常出现),于是我们需要处理边缘采样

有四种方法:

  • 重复(wrap、repeat、tile)
  • 镜像(mirror)
  • 截断(clamp to edge)
  • 边界(clamp to border)

Corresponder

评论