zoukankan      html  css  js  c++  java
  • 修改贴图工具


     ChangeTextureImportSettingsUnity3 for Unity3.x

    程序代码 csharp 代码

    using UnityEngine; using UnityEditor;
    // /////////////////////////////////////////////////////////////////////////////////////////////////////////

    //

    // Batch Texture import settings modifier.

    //

    // Modifies all selected textures in the project window and applies the requested modification on the

    // textures. Idea was to have the same choices for multiple files as you would have if you open the // import settings of a single texture. Put this into Assets/Editor and once compiled by Unity you find

    // the new functionality in Custom -> Texture. Enjoy! :-)

    //

    // Based on the great work of benblo in this thread:

    // http://forum.unity3d.com/viewtopic.php?t=16079&start=0&postdays=0&postorder=asc&highlight=textureimporter

    //

    // Developed by Martin Schultz, Decane in August 2009

    // e-mail: ms@decane.net

    //

    // Updated for Unity 3.0 by col000r in August 2010 // http://col000r.blogspot.com

    //

    //

    /////////////////////////////////////////////////////////////////////////////////////////////////////////

    public class ChangeTextureImportSettingsUnity3 : ScriptableObject {        

           [MenuItem ("Custom/Texture/Change Texture Format/Auto Compressed")]

            static void ChangeTextureFormat_AutoCompressed() {

                      SelectedChangeTextureFormatSettings(TextureImporterFormat.AutomaticCompressed);

            }


           [MenuItem ("Custom/Texture/Change Texture Format/Auto 16bit")]    

           static void ChangeTextureFormat_Auto16Bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.Automatic16bit);

            }


            [MenuItem ("Custom/Texture/Change Texture Format/Auto Truecolor")]

             static void ChangeTextureFormat_AutoTruecolor() {

                  SelectedChangeTextureFormatSettings(TextureImporterFormat.AutomaticTruecolor);

             }

             [MenuItem ("Custom/Texture/Change Texture Format/RGB Compressed DXT1")]

             static void ChangeTextureFormat_RGB_DXT1() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.DXT1);

             }

             [MenuItem ("Custom/Texture/Change Texture Format/RGB Compressed DXT5")]

             static void ChangeTextureFormat_RGB_DXT5() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.DXT5);

             }

            [MenuItem ("Custom/Texture/Change Texture Format/RGB 16 bit")]

            static void ChangeTextureFormat_RGB_16bit() {

                    SelectedChangeTextureFormatSettings(TextureImporterFormat.RGB16);

             }

             

            [MenuItem ("Custom/Texture/Change Texture Format/RGB 24 bit")]

            static void ChangeTextureFormat_RGB_24bit() {

                    SelectedChangeTextureFormatSettings(TextureImporterFormat.RGB24);

            }

            [MenuItem ("Custom/Texture/Change Texture Format/Alpha 8 bit")]

            static void ChangeTextureFormat_Alpha_8bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.Alpha8);

             }  

            [MenuItem ("Custom/Texture/Change Texture Format/ARGB 16 bit")]

            static void ChangeTextureFormat_RGBA_16bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.ARGB16);

             }

            [MenuItem ("Custom/Texture/Change Texture Format/RGBA 32 bit")]

             static void ChangeTextureFormat_RGBA_32bit() {

                  SelectedChangeTextureFormatSettings(TextureImporterFormat.RGBA32);

             }


            [MenuItem ("Custom/Texture/Change Texture Format/ARGB 32 bit")]

            static void ChangeTextureFormat_ARGB_32bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.ARGB32);

            }


            [MenuItem ("Custom/Texture/Change Texture Format/RGB PVRTC 2bit")]

             static void ChangeTextureFormat_RGB_PVRTC_2bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.PVRTC_RGB2);

             }

            [MenuItem ("Custom/Texture/Change Texture Format/RGBA PVRTC 2bit")]

             static void ChangeTextureFormat_RGBA_PVRTC_2bit() {

                   SelectedChangeTextureFormatSettings(TextureImporterFormat.PVRTC_RGBA2);

             }  

     
             [MenuItem ("Custom/Texture/Change Texture Format/RGB PVRTC 4bit")]

             static void ChangeTextureFormat_RGB_PVRTC_4bit() {

                    SelectedChangeTextureFormatSettings(TextureImporterFormat.PVRTC_RGB4);

              }

            [MenuItem ("Custom/Texture/Change Texture Format/RGBA PVRTC 4bit")]

             static void ChangeTextureFormat_RGBA_PVRTC_4bit() {

                     SelectedChangeTextureFormatSettings(TextureImporterFormat.PVRTC_RGBA4);

              }

                // ----------------------------------------------------------------------------        

            [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/32")]

             static void ChangeTextureSize_32() {

                    SelectedChangeMaxTextureSize(32);

             }

             [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/64")]

              static void ChangeTextureSize_64() {

                     SelectedChangeMaxTextureSize(64);

               }

            [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/128")]

             static void ChangeTextureSize_128() {

                      SelectedChangeMaxTextureSize(128);

             }

            [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/256")]

             static void ChangeTextureSize_256() {

                      SelectedChangeMaxTextureSize(256);

             }  

           [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/512")]

           static void ChangeTextureSize_512() {  

                      SelectedChangeMaxTextureSize(512);

            }  

          

            [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/1024")]

             static void ChangeTextureSize_1024() {

                     SelectedChangeMaxTextureSize(1024);

             }

           

             [MenuItem ("Custom/Texture/Change Texture Size/Change Max Texture Size/2048")]

             static void ChangeTextureSize_2048() {

                     SelectedChangeMaxTextureSize(2048);

              }

            // ----------------------------------------------------------------------------        

              [MenuItem ("Custom/Texture/Change MipMap/Enable MipMap")]

               static void ChangeMipMap_On() {

                      SelectedChangeMimMap(true);

               }        

               [MenuItem ("Custom/Texture/Change MipMap/Disable MipMap")]

               static void ChangeMipMap_Off() {

                     SelectedChangeMimMap(false);

                }

               // ----------------------------------------------------------------------------
               [MenuItem ("Custom/Texture/Change Non Power of 2/None")]

                static void ChangeNPOT_None() {

                       SelectedChangeNonPowerOf2(TextureImporterNPOTScale.None);

                }

               [MenuItem ("Custom/Texture/Change Non Power of 2/ToNearest")]

                static void ChangeNPOT_ToNearest() {

                       SelectedChangeNonPowerOf2(TextureImporterNPOTScale.ToNearest);

                }

               [MenuItem ("Custom/Texture/Change Non Power of 2/ToLarger")]

                static void ChangeNPOT_ToLarger() {

                       SelectedChangeNonPowerOf2(TextureImporterNPOTScale.ToLarger);

                 }
                [MenuItem ("Custom/Texture/Change Non Power of 2/ToSmaller")]  

                 static void ChangeNPOT_ToSmaller() {

                      SelectedChangeNonPowerOf2(TextureImporterNPOTScale.ToSmaller);

                 } 

               // ----------------------------------------------------------------------------
              [MenuItem ("Custom/Texture/Change Is Readable/Enable")]

              static void ChangeIsReadable_Yes() {

                      SelectedChangeIsReadable(true);

               }

              [MenuItem ("Custom/Texture/Change Is Readable/Disable")]

              static void ChangeIsReadable_No() {

                      SelectedChangeIsReadable(false);

             }           

              // ----------------------------------------------------------------------------

             static void SelectedChangeIsReadable(bool enabled) {

                        Object[] textures = GetSelectedTextures();

                        Selection.objects = new Object[0];

                        foreach (Texture2D texture in textures)  {

                                  string path = AssetDatabase.GetAssetPath(texture);

                                  TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;

                                  textureImporter.isReadable = enabled; 

                                  AssetDatabase.ImportAsset(path);

                        }

             }


             static void SelectedChangeNonPowerOf2(TextureImporterNPOTScale npot) {

                       Object[] textures = GetSelectedTextures();  

                        Selection.objects = new Object[0];

                        foreach (Texture2D texture in textures)  {

                                 string path = AssetDatabase.GetAssetPath(texture);

                                 TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;

                                 textureImporter.npotScale = npot; 

                                 AssetDatabase.ImportAsset(path);

                         }

               }   

         

               static void SelectedChangeMimMap(bool enabled) {

                            Object[] textures = GetSelectedTextures();  

                            Selection.objects = new Object[0];

                           foreach (Texture2D texture in textures)  {  

                                   string path = AssetDatabase.GetAssetPath(texture);

                                   TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;

                                   textureImporter.mipmapEnabled = enabled;  

                                   AssetDatabase.ImportAsset(path);

                            }

                }

               static void SelectedChangeMaxTextureSize(int size) {

                            Object[] textures = GetSelectedTextures();

                            Selection.objects = new Object[0];

                            foreach (Texture2D texture in textures)  {  

                                    string path = AssetDatabase.GetAssetPath(texture);

                                    TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;

                                    textureImporter.maxTextureSize = size; 

                                    AssetDatabase.ImportAsset(path);

                            }

                }

            static void SelectedChangeTextureFormatSettings(TextureImporterFormat newFormat) {

                             Object[] textures = GetSelectedTextures();

                             Selection.objects = new Object[0];

                             foreach (Texture2D texture in textures)  {  

                                         string path = AssetDatabase.GetAssetPath(texture);

                                         //Debug.Log("path: " + path);

                                        TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;

                                         textureImporter.textureFormat = newFormat;

                                        AssetDatabase.ImportAsset(path);

                             }

             }

            static Object[] GetSelectedTextures()     {

                         return Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets);

             }

    }

  • 相关阅读:
    TCP链接异常断开后,对端仍然ESTABLISH
    mds0: Many clients (191) failing to respond to cache pressure
    Linux C/C++编译过程中的各种not declared in this scope
    Centos7添加磁盘并分区格式化
    Windows Terminal——安装并配置主题
    Kbone——创建项目报错 name can no longer contain capital letters
    Redis——大批量删除redis的key
    Redis——设置最大内存 | key淘汰机制
    Nightingale——滴滴夜莺部署【一】
    ELK——使用Docker快速搭建
  • 原文地址:https://www.cnblogs.com/softimagewht/p/3754702.html
Copyright © 2011-2022 走看看