Unity3D的編輯器擴充套件 右鍵彈出選單欄

2022-09-02 17:09:10 字數 805 閱讀 8610

最近用u3d的編輯器擴充套件api來寫乙個動畫幀事件編輯器,其中有不少實用的東西,在這裡分享下

現在要是在乙個介面上繪製乙個小盒子,然後對著滑鼠右鍵點選盒子,可以彈出選擇框,**大概如下:

public void draw(rect rect)

}效果應該是醬紫的:

看起來還不錯

event.current這個事件類可以讓我們很方面地獲取裝置輸入事件,用起來和runtime庫中的input類似,非常實用。

但這裡我遇到乙個奇怪的問題,如果我把**邏輯如下:

public void draw(rect rect)

else if(event.current.type == eventtype.mousedown)

}event.current.type 就再也沒有 eventtype.contextclick的型別派發出來了,不知道是不是unity3d 的乙個bug,我用的是unity3d 5.3.5的版本

所以採用如下的方法來判斷就完美解決問題啦

public const mouse_button_left = 0

public const mouse_button_right = 1

public void draw(rect rect)

else(event.current.button == mouse_button_right)}}

有了event.current事件,編輯器的很多互動功能都可以實現啦,哈哈哈哈哈哈哈 

Unity 3D 編輯器模式下 讀寫文字

unity 可以利用c 的file類來讀寫文字,此時只需要提供乙個目錄即可。這裡需要注意的是,編輯器模式下讀寫文字是很方便的,但是一旦打包發布,assets 目錄都不存在了,執行時是無法讀取它目錄下的文字的。using system.io using system.text using unitye...

Unity編輯器擴充套件

unity引擎除了提供大部分通用的功能以外,還為開發者提供了編輯器的擴充套件開發介面,開發者可以編寫編輯器指令碼,打造適合自己的遊戲輔助工具和定製的編輯器。以前指令碼開發中使用的一些api和元件類,都屬於執行時類,unity還提供了編輯器類用於編輯器的擴充套件開發,包括編輯器環境下使用的gui類,編...

Unity3D之Shader自定義編輯器功能拓展

一 前言 最近在開發乙個關卡類的遊戲,在匯入一些3d物體的時候,發現很多時候同乙個3d物體需要渲染的方式不一樣,比如這顆樹要雙面渲染 cull off 但在很多情況下是可以剔除背面 cull back 的,之前在寫shader方面找不到什麼好方法直接控制,乾脆就寫了兩個shader,這就造成了無謂的...