2016年9月22日 星期四

Unity 插件開發 (一) - Gizmos

有時候,我們會想要在場景中繪製一些符號、圖案或區塊,來標記一些特殊的區域。例如:重生點、死亡區或生怪區等。這些區塊我們只想要在編輯時看到,執行遊戲時是不能讓玩家看到的。這種情形很適合利用 Gizmos 來繪製物件。


繪製 OnDrawGizmos
所有繪製 Gizmos 的程式碼都必須寫在內建的 Unity 方法 OnDrawGizmos() 和 OnDrawGizmosSelected() 中。並且這裡的物件不會編譯到遊戲當中,所以遊戲裡不會看到此方法內所畫的任何物件。
  • OnDrawGizmos()
    不論有沒有選中這個物件,一定會被畫出來
  • OnDrawGizmosSelected()
    只有被選中這個物件,才會被畫出來


繪製 Gizmos 物件

using UnityEngine;
using UnityEditor;
using System.Collections;

public class DrawGizmo : MonoBehaviour
{
    void OnDrawGizmos()
    {
        Gizmos.color = new Color(1f, 1f, 0f, 1f);
        Gizmos.DrawWireCube(this.transform.position, Vector3.one * 0.9f);

        Gizmos.color = new Color(1f, 1f, 0f, 0.3f);
        Gizmos.DrawCube(this.transform.position, Vector3.one * 0.9f);
    }
}
將 Script 綁在目標物件上,便可以在 Scene View 中看到結果




參考資料

沒有留言:

張貼留言