【Unity5.x Shaders】Shader中的Texture纹理

2D图片如何映射到3D模型?

这个过程叫做纹理映射(texture mapping)。
模型事实上是用三角形构成的,每一个顶点可以存储信息并且可以被shaders接收。
其中顶点中存储的最重要的信息是UV数据(UV data)。
它由两个坐标构成:U和V,取值范围都是从0到1。它们代表了2D图片上像素将要映射到模型顶点的XY position。
UV数据只提供给顶点。当三角形内的点需要被纹理映射(texture-mapped)时,GPU会插值运算最接近的UV值以找到要使用的纹理中的正确像素。

这个图片展示了2D纹理如何映射到3D模型上的三角形。
这里写图片描述
UV数据存储在3D模型中,并需要编辑建模软件。
一些模型缺少UV分量,因此它们不能支持纹理映射。
这里我对模型的知识了解太少,比如说有的模型有专门匹配的贴图,所以那种模型的UV就是根据匹配的贴图设置的吗?可是在材质中我随便指定一种贴图不也能贴上吗?希望有了解的能回答一下。

Standard Shader中的纹理映射

接下来需要一个有UV数据的3D模型和它的贴图。它们都需要提前导入进Unity,你也可以把它们简单的拖进编辑面板中。
Standard Shader默认支持纹理映射,接下来将解释它工作的步骤

  1. 新建一个名为 TexturedShader的Stand
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值