Texture Mapping

作者: 爱喝粥的西瓜 | 来源:发表于2021-02-20 16:54 被阅读0次

    3d模型简介

      在任何3d软件中创建出来的模型,无论模型的外观,构造多复杂,都可以拆分为顶点,边,面等更基本的元素,一般在存储的3d模型中,存储的是顶点信息与面信息.
      ◇ 顶点信息
        顶点是3d模型存在的基础,顶点信息一般包含有位置,uv,法线的信息,相对于uv,法线等信息,位置信息是一定存在的,uv和法线信息一般也会配套出现,但在某些模型文件中可能读取不到对应的uv或者法线信息(曾经在某些obj格式的文件中仅获取到位置),除了这三种常用的信息,还可以有额外的信息,如顶点颜色等.
      ◇ 面信息
        面信息存储着构成面的顶点的索引和面的朝向,面的朝向是根据几个顶点的顺序来记录的,在摄像机位置来看几个顶点的顺序,如果顺序是顺时针,如果该3d世界使用左手坐标系,那么这个面就是正面面朝摄像机,如果该3d世界使用右手坐标系,那么这个面就是反面面朝摄像机.如果顺序是逆时针,上述情况就会反过来.

      ◆UV坐标系
        我们不会仅仅将3d模型绘制成纯色模型,为了让3d模型能更丰富多彩,我们会在3d模型上绘制一些有特殊花纹的纹理(图片),通常这些纹理也就是图片是2d,为了能达成上述目的,我们需要在2d与3d世界之间架设起一道沟通的桥梁.uv也就是在这种情况下出现了.
        在3d软件中,我们通过UV映射(展uv)的方式,可以将3d模型的顶点映射到2d场景中,通过这个顶点在2d场景中的位置取对应2d图片的颜色(顶点之间面上没有顶点的部分通过插值操作来完成),反馈给3d模型,来实现将2d的纹理贴在3d模型上,在实际使用中,纹理可能是任意尺寸,为了能统一操作,所以我们将uv限定在了一个0~1的区域内,通过百分比的形式,插值计算.除了利用插值,我们要确定插值的走向,这就引出了UV坐标系的概念.
        uv坐标系是一个坐标原点定义在左下角(unity,和OpenGL,DX是在左上角),以水平向右定义u向正方向,垂直向上定义v向正方向,uv方向的取值限制在0~1之间的一个特殊坐标系,与uv坐标系相对应的还有一个纹理坐标系,纹理坐标系和uv坐标系基本相同,只是他的取值范围是由纹理的尺寸(宽高)来决定的.
        纹理坐标系的原点被定义在左上角,水平向右为x方向正方向,垂直向下为y方向正方向.

    相关文章

      网友评论

        本文标题:Texture Mapping

        本文链接:https://www.haomeiwen.com/subject/hofaxltx.html