以下の内容はhttps://indie-du.com/entry/2022/06/18/120439より取得しました。


Unity : SceneView でキー操作を検出してキャンセルする

カスタムエディターを作成しているときに、クリックやマウス移動やキー入力などをシーン中の操作(ショートカット)とは別に実装を行いたい場合があります。

例えば、シーンビューでオブジェクト選択中に R キーを押すと回転を調節するハンドラに切り替わりますが、
このキー入力をカスタムエディタでキャッチしてなおかつハンドラの切り替えをさせたくないという場合です。

Javascript でいうイベントバブリングの停止的なかんじ。

これをやるのは割と簡単で、Editor クラスの OnSceneGUI メソッドをオーバーライドし、
Event.current.Use(); をコールするだけです。

    public class TestCustomInspector : UnityEditor.Editor
    {
        void OnSceneGUI(SceneView sceneView)
        {
            switch (Event.current.type)
            {
                case EventType.KeyDown:
                    if (Event.current.keyCode == KeyCode.R)
                    {
                        Event.current.Use();
                    }
            }
        }
    }

でも 左クリックだけはキャンセルできない みたいです。なんでだろー

Editor-OnSceneGUI() - Unity スクリプトリファレンス

Event-Use - Unity スクリプトリファレンス




以上の内容はhttps://indie-du.com/entry/2022/06/18/120439より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14