⛳
[Unity] シーンビューのカスタム化に関するメモ
1. シーンビューのサイズを取得
// シーンビューのスクリーン幅を取得
var width = UnityEngine.Screen.width;
// シーンビューのスクリーン高さを取得
var height = UnityEngine.Screen.height;
2. 「World 座標」を「スクリーン座標」に変換
// スクリーン座標を取得する
var screenPos = UnityEngine.RectTransformUtility.WorldToScreenPoint(worldCamera, worldPos);
3. 「スクリーン座標」を「World 座標」に変換
※ 書きかけメモ
UnityEngine.RectTransformUtility.ScreenPointToRay(worldCamera, screenPos) メソッドを使用する
4. Hierarchy 上のオブジェクトを削除
シーンビューで動作するスクリプト上では GameObject.DestroyImmediate
メソッドを使用する。
なお、通常使う GameObject.Destroy
メソッドを使用すると以下のエラーメッセージが表示される。
Destroy may not be called from edit mode! Use DestroyImmediate instead.
Discussion