您的位置:首页 > 移动开发 > Unity3D

Unity中Texture的ImportSettings中各设置对应的API

2016-09-07 17:35 351 查看


下面是按顺序写的:

代码:

if (GUI.Button(new Rect(0, 150, position.width, 30), "SetTexture"))
{
Object[] textures = Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets);
for (int i = 0; i < textures.Length; i++)
{
string path = AssetDatabase.GetAssetPath(textures[i]);
TextureImporter import = AssetImporter.GetAtPath(path) as TextureImporter;
import.textureType = TextureImporterType.Advanced;
import.npotScale = TextureImporterNPOTScale.ToNearest;
import.generateCubemap = TextureImporterGenerateCubemap.None;
import.isReadable = false;
import.normalmap = false; // import.lightmap = false;
import.grayscaleToAlpha = false;
import.alphaIsTransparency = true;
import.linearTexture = true;
import.spriteImportMode = SpriteImportMode.None;
import.mipmapEnabled = false;
import.wrapMode = TextureWrapMode.Clamp;
import.filterMode = FilterMode.Bilinear;
import.anisoLevel = 2;

import.compressionQuality = (int)TextureCompressionQuality.Normal;
//----
import.SetPlatformTextureSettings("Standalone", 1024, TextureImporterFormat.AutomaticCompressed);
import.SetPlatformTextureSettings("iPhone", 1024, TextureImporterFormat.AutomaticCompressed, 1);
import.SetPlatformTextureSettings("Android", 1024, TextureImporterFormat.ETC2_RGBA8, 2);

AssetDatabase.ImportAsset(path);
}
}


上面是通过按钮把自己所选择的那些贴图进行设置,我们也可以重新导入这些贴图的时候进行自动设置(任何被导入的贴图都会自动设置),AssetPostprocessor这个类提供了当贴图,模型,动画,音频等在导入前后Unity调用的方法。

以在贴图导入前自动进行设置为例:

public class MyImportEditor : AssetPostprocessor {
public void OnPreprocessTexture() {
TextureImporter import = assetImporter as TextureImporter ;
import.textureType = TextureImporterType.Advanced;
......
import.SetPlatformTextureSettings("Android", 1024, TextureImporterFormat.ETC2_RGBA8, 2);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐