本文重点: 创建类电路材质。 添加对MODS遮罩贴图的支持。 介绍次要细节贴图。 执行切线空间法线贴图。
本教程是CatLikeCoding系列的一部分,原文地址见文章底部。
我们能不能仅缩放基本UV? 可以,这也是可能的,甚至可能很方便。但是,对于细节使用完全独立的UV坐标可提供最大的灵活性。尽管这很少见,但它也可以独立使用细节贴图而不依赖于基础贴图。 将所需的纹理,采样器状态和缩放偏移属性添加到LitInput,以及TransformDetailUV函数以转换细节纹理坐标。
DXT5nm是什么意思? DXT5(也称为BC3)是一种压缩格式,将纹理划分为4×4像素的块。每个块都有两种颜色近似,每个像素可进行插值。用于颜色的位数在每个通道中有所不同。R和B分别获得5位,G获得6位,而A获得8位。这就是X坐标移至A通道的原因之一。另一个原因是RGB通道获得一个查找表,而A通道获得其自己的查找表。这样可以使X和Y分量保持隔离。 当DXT5用于存储法线向量时,称为DXT5nm。但是,当使用高压缩质量时,Unity更喜欢BC7压缩。此模式的工作原理相同,但每个通道的位数可能会有所不同。因此,不需要移动X通道。最终纹理的结局更大,因为两个通道都使用了更多位,从而提高了纹理质量。
为什么不合并两个贴图? 虽然这样效率更高,但生成这样的贴图却更加困难。生成Mip贴图时,应将法向矢量与其他数据通道区别对待,而Unity的纹理导入器无法做到这一点。而且,在使Mip贴图淡化时,Unity会忽略Alpha通道,因此该通道中的数据将不会正确变淡。因此,需要在Unity外部或使用脚本自行生成Mip映射。即便那样,我们仍然需要手动解码法线数据,而不是依赖UnpackNormalmapRGorAG。我不会在本教程中介绍这些内容。
您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )
GMT+8, 2025-1-16 20:59 , Processed in 0.091235 second(s), 26 queries .
Powered by Discuz! X3.5 Licensed
© 2001-2024 Discuz! Team.