博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity导入资源(纹理 Texture 声音 Audio 模型 FBX)动态设置
阅读量:4147 次
发布时间:2019-05-25

本文共 4128 字,大约阅读时间需要 13 分钟。

创建下面脚本放在Editor文件夹下即可

using System.Collections;using UnityEditor;using UnityEngine;public class EditorResourceSetting : AssetPostprocessor{    //模型导入之前调用      public void OnPreprocessModel()    {        //Debug.Log("OnPreprocessModel=" + this.assetPath);    }    //模型导入之后调用      public void OnPostprocessModel(GameObject go)    {        //Debug.Log("OnPostprocessModel=" + go.name);    }    //纹理导入之前调用,针对入到的纹理进行设置    public void OnPreprocessTexture()    {        //string dirName = System.IO.Path.GetDirectoryName(assetPath);        //string folderStr = System.IO.Path.GetFileName(dirName);        Debug.Log("导入Texture图片前处理");        TextureImporter textureImporter = (TextureImporter)assetImporter;        string FileName = System.IO.Path.GetFileName(assetPath);        string[] FileNameArray = FileName.Split(new string[] { "_" }, System.StringSplitOptions.RemoveEmptyEntries);        if (FileNameArray.Length >= 3)        {            Debug.Log("符合命名规范图片");            textureImporter.mipmapEnabled = false;//关闭mipmap            //图片类型             textureImporter.textureType = TextureImporterType.Sprite;            textureImporter.spriteImportMode = SpriteImportMode.Single;            //图片PackingTag            textureImporter.spritePackingTag = FileNameArray[0];            //图片尺寸            if (FileNameArray[1] == "bg")            {                Debug.Log("名称:" + textureImporter.GetDefaultPlatformTextureSettings().name);                TextureImporterPlatformSettings TempTexture = new TextureImporterPlatformSettings();                TempTexture.overridden = true;                TempTexture.name = "Android";                TempTexture.maxTextureSize = 512;                TempTexture.format = TextureImporterFormat.ETC_RGB4;                textureImporter.SetPlatformTextureSettings(TempTexture);            }            else if (FileNameArray[1] == "btn")            {                textureImporter.maxTextureSize = 256;            }            else if (FileNameArray[1] == "icon")            {                textureImporter.maxTextureSize = 64;            }            else            {                textureImporter.maxTextureSize = 1024;                textureImporter.textureCompression = TextureImporterCompression.Compressed;                textureImporter.crunchedCompression = true;                textureImporter.compressionQuality = 60;            }            Debug.Log("名称:" + textureImporter.GetDefaultPlatformTextureSettings().name);        }        else        {            Debug.Log("不是指定文件");        }    }    public void OnPostprocessTexture(Texture2D tex)    {        Debug.Log("导入Texture图片后处理");    }    public void OnPreprocessAudio()    {        Debug.Log("音频导前预处理");        AudioImporterSampleSettings AudioSetting = new AudioImporterSampleSettings();        //加载方式选择        AudioSetting.loadType = AudioClipLoadType.CompressedInMemory;        //压缩方式选择        AudioSetting.compressionFormat = AudioCompressionFormat.Vorbis;        //设置播放质量        AudioSetting.quality = 0.1f;        //优化采样率        AudioSetting.sampleRateSetting = AudioSampleRateSetting.OptimizeSampleRate;        AudioImporter audio = assetImporter as AudioImporter;        //开启单声道         audio.forceToMono = true;        audio.preloadAudioData = true;        audio.defaultSampleSettings = AudioSetting;    }    public void OnPostprocessAudio(AudioClip clip)    {        Debug.Log("音频导后处理");    }    //所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的  (这个是在对应资源的导入前后函数执行后触发)    public static void OnPostprocessAllAssets(string[] importedAsset, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)    {        Debug.Log("OnPostprocessAllAssets");        foreach (string str in importedAsset)        {            Debug.Log("importedAsset = " + str);        }        foreach (string str in deletedAssets)        {            Debug.Log("deletedAssets = " + str);        }        foreach (string str in movedAssets)        {            Debug.Log("movedAssets = " + str);        }        foreach (string str in movedFromAssetPaths)        {            Debug.Log("movedFromAssetPaths = " + str);        }    }}

转载地址:http://aljti.baihongyu.com/

你可能感兴趣的文章
指针的运算
查看>>
计算机视觉、机器学习相关领域论文和源代码大集合(持续更新)
查看>>
收集的一些目标检测、跟踪、识别标准测试视频集和图像数据库
查看>>
特征选择常用算法综述
查看>>
gradient descent
查看>>
Multivariate Linear Regression
查看>>
Logistic Regression and Newton's Method
查看>>
regularized linear regression
查看>>
multithread(1)
查看>>
multiThread(2)
查看>>
MultiThread(3)-Mutex
查看>>
MultiThread(4)-Mutex
查看>>
MultiThread(5)-Mutex
查看>>
TCP-socket
查看>>
TCP-socket(2)
查看>>
Regularized logistic regression
查看>>
神经网络(一)
查看>>
反向传导算法(二)
查看>>
TCP-socket(3)
查看>>
有个PCA的东西
查看>>