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);

             }

    }

  • 相关阅读:
    C. Shaass and Lights 解析(思維、組合)
    D. Binary String To Subsequences(队列)(贪心)
    CodeForces 1384B2. Koa and the Beach (Hard Version)(贪心)
    CodeForces 1384B1. Koa and the Beach (Easy Version)(搜索)
    CodeForces 1384C. String Transformation 1(贪心)(并查集)
    CodeForces 1384A. Common Prefixes
    POJ-2516 Minimum Cost(最小费用最大流)
    POJ3261-Milk Patterns(后缀数组)
    HDU-1300 Pearls(斜率DP)
    HDU-4528 小明系列故事-捉迷藏(BFS)
  • 原文地址:https://www.cnblogs.com/softimagewht/p/3754702.html
Copyright © 2011-2022 走看看