Unity3d 匯入圖片 自動修改Texture Type為Sprite 2D and UI 及設定 Packing
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
Unity3d 的新版 UI 系統在給我們帶來很大便利的同時,也添加了一些小麻煩。每次從電腦中匯入圖片到 Unity3d 中都需要手動設定Texture Type為Sprite (2D and UI) 及設定 Packing Tag。對於需要打包為一個圖集的圖片,我們一般把它們放到一個資料夾中。 基於以上,我們可以讓圖片的 Packing Tag 自動設定為 資料夾的名字。
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
Unity3d 提供了 資源匯入 的回撥函式,我們 可以使用 AssetPostProcessor 來在Unity3d 對圖片進行處理之前、之後 的回撥中,再進行一些自己的處理。
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
在這裡,我們在圖片被Unity3d 處理之前,搶先 一步修改它 的 Texture Type 以及 Packing Tag 。
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
具體可以參照 Unity3d 官方文件。
http://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnPreprocessTexture.html
/************************** * 檔名:AutoSetTextureUISprite.cs; * 檔案描述:匯入圖片資源到Unity時,自動修改為UI 2D Sprite,自動設定打包tag 為資料夾名字; * 建立日期:2015/05/04; * Author:陳鵬; ***************************/ using UnityEngine;using System.Collections;using UnityEditor;public class AutoSetTextureUISprite :AssetPostprocessor { void OnPreprocessTexture() { //自動設定型別; TextureImporter textureImporter = (TextureImporter)assetImporter; textureImporter.textureType=TextureImporterType.Sprite; //自動設定打包tag; string dirName = System.IO.Path.GetDirectoryName(assetPath); Debug.Log("Import --- "+dirName); string folderStr = System.IO.Path.GetFileName(dirName); Debug.Log("Set Packing Tag --- "+folderStr); textureImporter.spritePackingTag = folderStr; }}
把上面的程式碼檔案放到 Editor 資料夾中 ( 不是規定,只是習慣 ) 。
然後從電腦中拖一張圖片到 Project 檢視中,可以看到 圖片被自動修改 。
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
示例下載:
http://pan.baidu.com/s/1dDcZigT