原地址:http://blog.csdn.net/asd237241291/article/details/8433548

  1. 创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【】 本文链接地址: Unity3D 批量图片资源导入设置
  2. 复制代码
  3. using UnityEngine;
  4. using System.Collections;
  5. using UnityEditor;
  6. /// <summary>
  7. /// 批量图片资源导入设置
  8. /// 使用说明: 选择需要批量设置的贴图,
  9. /// 单击DuanMenu/Texture Import Settings,
  10. /// 打开窗口后选择对应参数,
  11. /// 点击Set Texture ImportSettings,
  12. /// 稍等片刻,--批量设置成功。
  13. /// </summary>
  14.  
  15. public class TextureImportSetting : EditorWindow {
  16.  
  17. /// <summary>
  18. /// 临时存储int[]
  19. /// </summary>
  20. private int[] IntArray = new int[] { , , , , , , , };
  21. //AnisoLevel
  22. private int AnisoLevel = ;
  23. //Filter Mode
  24. private int FilterModeInt = ;
  25. private string[] FilterModeString = new string[] { "Point", "Bilinear", "Trilinear" };
  26. //Wrap Mode
  27. private int WrapModeInt = ;
  28. private string[] WrapModeString = new string[] { "Repeat", "Clamp" };
  29. //Texture Type
  30. private int TextureTypeInt = ;
  31. private string[] TextureTypeString = new string[] { "Texture", "Normal Map", "GUI", "Refelection", "Cookie", "Lightmap", "Advanced" };
  32. //Max Size
  33. private int MaxSizeInt = ;
  34. private string[] MaxSizeString = new string[] { "", "", "", "", "", "", "", "" };
  35. //Format
  36. private int FormatInt = ;
  37. private string[] FormatString = new string[] { "Compressed", "16 bits", "true color" };
  38.  
  39. /// <summary>
  40. /// 创建、显示窗体
  41. /// </summary>
  42. [@MenuItem("DuanMenu/Texture Import Settings")]
  43. private static void Init()
  44. {
  45. TextureImportSetting window = (TextureImportSetting)EditorWindow.GetWindow(typeof(TextureImportSetting), true, "TextureImportSetting");
  46. window.Show();
  47. }
  48.  
  49. /// <summary>
  50. /// 显示窗体里面的内容
  51. /// </summary>
  52. private void OnGUI()
  53. {
  54. //AnisoLevel
  55. GUILayout.BeginHorizontal();
  56. GUILayout.Label("Aniso Level ");
  57. AnisoLevel = EditorGUILayout.IntSlider(AnisoLevel, , );
  58. GUILayout.EndHorizontal();
  59. //Filter Mode
  60. FilterModeInt = EditorGUILayout.IntPopup("Filter Mode", FilterModeInt, FilterModeString, IntArray);
  61. //Wrap Mode
  62. WrapModeInt = EditorGUILayout.IntPopup("Wrap Mode", WrapModeInt, WrapModeString, IntArray);
  63. //Texture Type
  64. TextureTypeInt = EditorGUILayout.IntPopup("Texture Type", TextureTypeInt, TextureTypeString, IntArray);
  65. //Max Size
  66. MaxSizeInt = EditorGUILayout.IntPopup("Max Size", MaxSizeInt, MaxSizeString, IntArray);
  67. //Format
  68. FormatInt = EditorGUILayout.IntPopup("Format", FormatInt, FormatString, IntArray);
  69. if (GUILayout.Button("Set Texture ImportSettings"))
  70. LoopSetTexture();
  71. }
  72.  
  73. /// <summary>
  74. /// 获取贴图设置
  75. /// </summary>
  76. public TextureImporter GetTextureSettings(string path)
  77. {
  78. TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;
  79. //AnisoLevel
  80. textureImporter.anisoLevel = AnisoLevel;
  81. //Filter Mode
  82. switch (FilterModeInt)
  83. {
  84. case :
  85. textureImporter.filterMode = FilterMode.Point;
  86. break;
  87. case :
  88. textureImporter.filterMode = FilterMode.Bilinear;
  89. break;
  90. case :
  91. textureImporter.filterMode = FilterMode.Trilinear;
  92. break;
  93. }
  94. //Wrap Mode
  95. switch (WrapModeInt)
  96. {
  97. case :
  98. textureImporter.wrapMode = TextureWrapMode.Repeat;
  99. break;
  100. case :
  101. textureImporter.wrapMode = TextureWrapMode.Clamp;
  102. break;
  103. }
  104. //Texture Type
  105. switch (TextureTypeInt)
  106. {
  107. case :
  108. textureImporter.textureType = TextureImporterType.Image;
  109. break;
  110. case :
  111. textureImporter.textureType = TextureImporterType.Bump;
  112. break;
  113. case :
  114. textureImporter.textureType = TextureImporterType.GUI;
  115. break;
  116. case :
  117. textureImporter.textureType = TextureImporterType.Reflection;
  118. break;
  119. case :
  120. textureImporter.textureType = TextureImporterType.Cookie;
  121. break;
  122. case :
  123. textureImporter.textureType = TextureImporterType.Lightmap;
  124. break;
  125. case :
  126. textureImporter.textureType = TextureImporterType.Advanced;
  127. break;
  128. }
  129. //Max Size
  130. switch (MaxSizeInt)
  131. {
  132. case :
  133. textureImporter.maxTextureSize = ;
  134. break;
  135. case :
  136. textureImporter.maxTextureSize = ;
  137. break;
  138. case :
  139. textureImporter.maxTextureSize = ;
  140. break;
  141. case :
  142. textureImporter.maxTextureSize = ;
  143. break;
  144. case :
  145. textureImporter.maxTextureSize = ;
  146. break;
  147. case :
  148. textureImporter.maxTextureSize = ;
  149. break;
  150. case :
  151. textureImporter.maxTextureSize = ;
  152. break;
  153. case :
  154. textureImporter.maxTextureSize = ;
  155. break;
  156. }
  157. //Format
  158. switch (FormatInt)
  159. {
  160. case :
  161. textureImporter.textureFormat = TextureImporterFormat.AutomaticCompressed;
  162. break;
  163. case :
  164. textureImporter.textureFormat = TextureImporterFormat.Automatic16bit;
  165. break;
  166. case :
  167. textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor;
  168. break;
  169. }
  170. return textureImporter;
  171. }
  172.  
  173. /// <summary>
  174. /// 循环设置选择的贴图
  175. /// </summary>
  176. private void LoopSetTexture()
  177. {
  178. Object[] textures = GetSelectedTextures();
  179. Selection.objects = new Object[];
  180. foreach (Texture2D texture in textures)
  181. {
  182. string path = AssetDatabase.GetAssetPath(texture);
  183. TextureImporter texImporter = GetTextureSettings(path);
  184. TextureImporterSettings tis = new TextureImporterSettings();
  185. texImporter.ReadTextureSettings(tis);
  186. texImporter.SetTextureSettings(tis);
  187. AssetDatabase.ImportAsset(path);
  188. }
  189. }
  190.  
  191. /// <summary>
  192. /// 获取选择的贴图
  193. /// </summary>
  194. /// <returns></returns>
  195. private Object[] GetSelectedTextures()
  196. {
  197. return Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets);
  198. }
  199. }
  200. 复制代码

Unity3D 批量图片资源导入设置的更多相关文章

  1. Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系

    2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator ...

  2. magento产品批量导出导入

    magento产品批量导出导入 博客分类: WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra ExcelMobile配置管理XML ...

  3. ABAP-1-会计凭证批量数据导入本地ACCESS

    公司会计凭证导入ACCESS数据库,需要发送给审计,原先的方案是采用DEPHI开发的功能(调用函数获取会计凭证信息,然后INSERT到ACCESS数据表),运行速度非常慢,业务方要求对该功能进行优化, ...

  4. 图解JanusGraph系列 - 关于JanusGraph图数据批量快速导入的方案和想法(bulk load data)

    大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步(超链):图数据库系列-文章总目录 源码分析相关可查看github(码文不易,求个sta ...

  5. 网格导入设置 Import settings for Meshes

    原地址:http://game.ceeger.com/Components/FBXImporter-Model.html The Import Settings for a model file wi ...

  6. 开源免费接口管理平台eoLinker AMS开源版 V3.2.0更新,增加批量导出导入接口功能!

    eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本,提高项 ...

  7. .net开源工作流ccflow从表数据数据源导入设置

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow  .net开源工作流 第2节. 从表数据导入设置 1.1.1: 概要说明 在从表的使用中我一般都会用到从 ...

  8. ABAP-2-会计凭证批量数据导入本地ACCESS

    ABAP-1-会计凭证批量数据导入本地ACCESS 上一版本出现问题: A.若TXT数据条目超过800万(大概1.3G),则将TXT导入ACCESS过程不成功,ACCESS数据表为空.(Access单 ...

  9. SQL Server Bulk Insert批量数据导入

    SQL Server的Bulk Insert语句可以将本地或远程的数据文件批量导入到数据库中,速度非常的快.远程文件必须共享才行,文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP ...

随机推荐

  1. static in C/C++

    最近经常碰到static,之前也使用过,但都是一知半解,所以下决心做个整理总结,搞搞灵清它到底用哪些作用. 一.static in C 1.默认初始化为0: 如果不显式地对静态变量进行初始化,它们将被 ...

  2. Android去除CPU占用过高时屏幕四周闪红框

    话说有些时间没有更新博客了,今天正好解决这个问题,顺便把它记录下来.. 今天遇到的情况是这样的,当CPU占用过高时,屏幕四周会出现一个红框. 闪一次两次算了,但是挺萌的(TMD)不停的闪,我的钛合金狗 ...

  3. 【微信平台&后台管理】第一个外包项目:XX科技城微信平台项目总结

    苍天有眼啊,学了半年的网站开发终于派上用处,终于能赚钱了啊. 这个项目是和学长一起做的,项目的甲方是大庆某房地产土豪,项目要求就是搭建一整套的微信平台和微信平台管理系统,具体要求就是:回复关键字能拿到 ...

  4. XAML(3) - 附带属性

    WPF元素也可以从父元素中获得特性.例如,如果Button元素为了Canvas元素中,按钮的Top和Lef属性把父元素的名称作为前缀.这种属性成为附带属性: <Canvas> <Bu ...

  5. 浅谈iOS网络编程之一入门

    计算机网络,基本上可以抽象是端的通信.实际在通讯中会用到不同的设备,不同的硬件中,为了能友好的传输信息,那么建立一套规范就十分必要了.先来了解一些基本概念 了解网络中传输的都是二进制数据流.  2.了 ...

  6. C 简易基础开发框架 - simple c

    引言   一个为 简单高效而生的 简易跨平台的 纯C开发框架.   githup上源码   https://github.com/wangzhione/sconsole_project 请容我细说 s ...

  7. Hive深入浅出

    1.  Hive是什么 1) Hive是什么? 这里引用 Hive wiki 上的介绍: Hive is a data warehouse infrastructure built on top of ...

  8. Erlang generic standard behaviours -- gen

    在分析 gen_server (或者是gen_fsm )之前,首先应该弄明白,gen 这个module . -module(gen). -compile({inline,[get_node/1]}). ...

  9. Google工程师打造Remix OS系统 桌面版安卓下载

    三位前Google工程师打造的Remix OS系统终于来到了PC桌面上,现已可以下载尝鲜. Remix OS for PC基于Android-x86项目,由安卓5.1 Lollipop深度定制而来,不 ...

  10. GNU make 总结 (一)

    make的执行依赖于一个makefile文件,该文件告诉make应该如何执行编译和链接操作.make通过比较对应文件的最后修改时间来决定哪些文件需要更新.make工具主要用来进行工程编译和程序链接操作 ...