Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Unity iOS构建中的移动/粒子/alpha混合问题_Android_Ios_Unity3d_Shader - Fatal编程技术网

Android Unity iOS构建中的移动/粒子/alpha混合问题

Android Unity iOS构建中的移动/粒子/alpha混合问题,android,ios,unity3d,shader,Android,Ios,Unity3d,Shader,我在Unity中开发游戏并部署到iOS时遇到了一个问题 我有一个游戏对象,它是一个透明的球门网(想想足球/足球)。我创建了一个具有网状纹理的材质,并使其使用粒子/alpha混合,因为我在网上读到它最适合透明的双面对象 应用于材质的纹理被平铺以形成一个更大的网络,无论是在编辑器中还是在Android设备上,它都运行良好。然而,当部署到iOS时,平铺不会发生。相反,主纹理粘贴到右上角,曲面的其余部分将主图像的边缘拉伸到其上 有人知道背后的原因吗?请记住,这是iOS唯一的问题,因为它在Unity编辑器

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

我有一个游戏对象,它是一个透明的球门网(想想足球/足球)。我创建了一个具有网状纹理的材质,并使其使用粒子/alpha混合,因为我在网上读到它最适合透明的双面对象

应用于材质的纹理被平铺以形成一个更大的网络,无论是在编辑器中还是在Android设备上,它都运行良好。然而,当部署到iOS时,平铺不会发生。相反,主纹理粘贴到右上角,曲面的其余部分将主图像的边缘拉伸到其上


有人知道背后的原因吗?请记住,这是iOS唯一的问题,因为它在Unity编辑器和Android上都能很好地工作。

根据Unity论坛上的回答,iOS遇到的UV伪影远远超出了0-1的范围,我想对于你的足球网纹理来说,你远远超出了这一范围


我建议您的IOS版本使用不同的纹理,不需要太多平铺。

正如Edward Andrew指出的,这是由于在平铺纹理时IOS金属上的最大UV范围较小(纹理设置为重复)造成的。我发现的一个快速解决方法是在着色器frag函数上使用mod函数重复UV(在vert函数上执行此操作会产生与UV插值相关的瑕疵):

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