unity shader 限制贴图显示

这几天在学shader的时候,想到一个问题,我有两张纹理图,一张是主纹理(1024*512),一张是局部纹理(256*128),局部纹理在主纹理的中心,
我已经将它们混合了,但发现了一个问题,由于局部纹理太小,导致它会被拉伸,我想到一个解决方案就是将局部纹理分辨率设置成主纹理一样的分辨率,
多余的设置成透明后混合,也可以达到效果。但我不想放弃另一种思路,就是直接将纹理混合,在shader 中限制其显示区域,奈何能力不够,网上也找不到类似
资料,只能来这试试图片说明

0

1个回答

最简单的可以在fragmentShader中If判断x坐标和y坐标是否符合条件。
但是我不知道unity API 中有没有可以直接获取一个Texture的长和宽直接显示。

0
qq_32823715
qq_32823715 谢谢,我查了许多资料,没有找到类似的API(可能还是查的资料不够多),不过我昨天想到一个能解决的办法,将纹理wrap mode 设为clamp,然后在shader中对局部纹理进行平移和缩放,也能达到这个效果。目前我就用了这个办法,已经测试了,能成功,但有些小问题(可以绕过),我也期待有更好的解决方案
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!