有時候,我們會想要在場景中繪製一些符號、圖案或區塊,來標記一些特殊的區域。例如:重生點、死亡區或生怪區等。這些區塊我們只想要在編輯時看到,執行遊戲時是不能讓玩家看到的。這種情形很適合利用 Gizmos 來繪製物件。
所有繪製 Gizmos 的程式碼都必須寫在內建的 Unity 方法 OnDrawGizmos() 和 OnDrawGizmosSelected() 中。並且這裡的物件不會編譯到遊戲當中,所以遊戲裡不會看到此方法內所畫的任何物件。
- OnDrawGizmos()
不論有沒有選中這個物件,一定會被畫出來
- OnDrawGizmosSelected()
只有被選中這個物件,才會被畫出來
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 中看到結果
沒有留言:
張貼留言