在Unity iOS版本中使用mobile / particles / alpha-blended的问题

时间:2017-02-23 09:20:08

标签: android ios unity3d shader

我在Unity中开发游戏并部署到iOS时遇到了问题。

我有一个GameObject,它意味着一个透明的目标网(想想足球/足球)。我已经创建了一种具有净纹理的材质并使其使用了Particles / alpha-blended,因为我在网上看到它最适合透明的双面物体。

应用于材质的纹理平铺以形成更大的网络,并且在编辑器和Android设备上都能很好地工作。但是,在部署到iOS时,平铺不会发生。相反,主要纹理粘在右上角,表面的其余部分使主图像的边缘在其上方伸展。

有人知道背后的原因吗?请记住,这是一个仅限iOS的问题,因为它在Unity编辑器和Android上均可正常运行。

1 个答案:

答案 0 :(得分:0)

正如爱德华·安德鲁(Edward Andrew)指出的那样,这是由于在平铺纹理时(纹理设置为重复),IOS金属上的最大UV范围较小。我发现的一个快速解决方法是,简单地在着色器片段功能上使用mod函数重复UV(在vert函数上执行此操作会产生与UV插值相关的伪像):

fixed4 frag (v2f i) : SV_Target
{
    fixed4 col = tex2D(_MainTex, i.uv % 1.0);
}