概述
Unity 安卓的Testure 读取格式设置
为Pc制作的人物模型,在安卓环境下识别可能会出错。主要原因是Texture格式不对。
相应的Ios其实也有同样的问题。
解决办法
// An highlighted block
#if UNITY_ANDROID || UNITY_IOS
string path = AssetDatabase.GetAssetPath(Mesh);
AssetImporter asset = AssetImporter.GetAtPath(path);
TextureImporter textureImporter = asset as TextureImporter;
if (textureImporter != null)
{
SetTextureFormat(textureImporter);
textureImporter.SaveAndReimport();
}
AssetDatabase.Refresh();
#endif
// 修改格式
public static void SetTextureFormat(TextureImporter textureImporter)
{
textureImporter.isReadable = true;
#if UNITY_IOS
TextureImporterPlatformSettings ios = textureImporter.GetPlatformTextureSettings("iPhone");
ios.overridden = true;
ios.format = TextureImporterFormat.RGBAHalf;
textureImporter.SetPlatformTextureSettings(ios);
#elif UNITY_ANDROID
TextureImporterPlatformSettings android = textureImporter.GetPlatformTextureSettings("Android");
android.overridden = true;
android.format = TextureImporterFormat.RGBAHalf;
textureImporter.SetPlatformTextureSettings(android);
#endif
}
注意
安卓需要修改ColorSpace
// 修改ColorSpace
#if UNITY_ANDROID
PlayerSettings.colorSpace = ColorSpace.Linear;
AssetDatabase.Refresh();
#endif
关于具体原因:
原文链接
最后
以上就是甜美棒球为你收集整理的设置Texture Android 识别格式的全部内容,希望文章能够帮你解决设置Texture Android 识别格式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复