2016年8月22日 星期一

[Unity] 在不按下Play運行專案的狀態下,用Editor執行程式



如要在場景中利用程式產生一片一片的磁磚時,抑或隨機密集生成物件、隨機的洞穴地形等,

總是需要將參數設定好,然後再按下Ctrl+P執行,查看最終效果,再做微調,

但不斷重複地執行是累人的。

不過,我們可以透過擴充Editor父類別自訂,讓程式直接執行並由Editor控制參數。



首先引用UnityEditor命名空間:
 
using UnityEditor;
並撰寫類別格式如下:
 
[CustomEditor (typeof(MapGenerator))]
public class MapEditor : Editor 
{

}
在其裡面繼承Editor中的OnInspectorGUI()方法,讓被繼承的方法執行後,宣告想要執行的其他自訂程式:
 
public override void OnInspectorGUI()
{
 base.OnInspectorGUI();

 MySelfScript theScript = target as MySelfScript;

 theScript.MyMethod();
}
以上。若想要在場景中刪除物件,建議使用DestroyImmediate代替Destroy。 參考自:https://www.youtube.com/playlist?list=PLFt_AvWsXl0ctd4dgE1F8g3uec4zKNRV0 ep8

沒有留言:

張貼留言