Unity編輯器 資源批處理工具基類

2021-08-15 12:25:30 字數 2570 閱讀 7794

經常要對資源進行批處理,很多時候都是一次性的需求,於是弄個通用指令碼。

工具是個彈出面板,處理過程有進度條,如下:

如圖,子類只需要重寫幾個方法:

using unityengine;

using batchtool;

using unityeditor;

public

class testbatchtool : batchtoolbase

modelimporteranimationtype animtype;

bool bimportmat;

////// 初始化資訊

//////

進度條標題

///進度條顯示資訊開頭

///需要處理檔案的字尾名

protected

override

void

inittool(out

string ptitle, out

string pinfo, out

string fileext)

////// 處理乙個資源的邏輯

//////

資源相對路徑

protected

override

void

excuteonepath(string path)

////// 批處理選項

///protected

override

void

guibatchoptions()

}

基類**:

using system;

using system.io;

using system.linq;

using unityeditor;

using unityengine;

namespace batchtool

set

}private

string _processtitle = string.empty;

private

string _processinfo = string.empty;

private

string _filenameext = ".prefab";

private

string _allassetpaths;

private rect _drawrect = rect.zero;

protected

void

onenable()

protected

virtual

void

inittool

(out

string ptitle, out

string pinfo, out

string fileext)

protected

void

ongui()

guilayout.endarea();

}private

void

guibeginbatchbtn()

var filtercollection = from path in _allassetpaths

where filterpathfun(path)

select path;

var paths = filtercollection.tolist();

float iteratecount = 0;

float proccescount = 0;

foreach (var path in paths)

excuteonepath(path);

proccescount++;

}editorutility.clearprogressbar();

oncomplete(paths.count, proccescount);}}

protected

virtual

void

oncomplete(int count, float proccescount)

protected

virtual

void

excuteonepath(string path)

protected

virtual

bool

filterpathfun(string path)

protected

virtual

void

guibatchoptions()

private

void

guiselectfolderpath()

}if (guilayout.button("", guilayout.width(25), guilayout.height(14)))

editorguiutility.labelwidth = 0;

}guilayout.endhorizontal();}}

}

座標位址批處理工具

1.1.1 功能介紹 地理編碼指將結構化內容轉換為經緯度座標,逆地理編碼指將經緯度座標轉換成結構化位址。使用該功能模組,可以快速批量把excel檔案內的大量位址轉換為經緯度資訊,或者實現反查。當前功能模組使用高德介面。由於地理編碼與逆地理編碼需要使用高德api介面,而api介面日請求次數有限,公共a...

認識Unity編輯器

儲存整個專案所有資源的載體。專案中無論是從外部匯入的包 package 資源 後面有詳細 講解 模型資源,音訊資源,還是自己建立的各種指令碼 材質等,都需要在本檢視中儲存 編輯與展現出來。scene 場景檢視 視覺化展現與編輯當前場景中所有的遊戲物件。本檢視與上面層級檢視的區別是 場景檢視是視覺化遊...

Unity編輯器拓展

有時候為了加快效率,不得不做一些方便的小工具,尤其是有那種改變體屬性,調整ui布局,或者調整字型,有選擇性的新增修改元件的時候,如果乙個兩個手動該沒問題,如果物件數量很多,而且只是做一些簡單的更改的時候,那還是推薦大家先做乙個工具,還能練練手。時候會比如我們需要用鉸鏈把一串transform連起來,...