Как использовать скрипт редактора Unity для перетаскивания объекта актива в Scene View, как редактор Unity> Представление проекта - PullRequest
0 голосов
/ 24 сентября 2018

Например, я обнаружил, что плагин Unity "Octave3d Level Design" имеет эту функцию enter image description here

Я надеюсь создать свой собственный менеджер prefab, так как менеджер prefab Octave3dне подходит для моей необходимости.Итак, вопрос: когда мышь перекрывает Scene View, как заставить мышь захватить объект и поместить его в Scene View?

1 Ответ

0 голосов
/ 24 сентября 2018

Редактировать: На самом деле выяснилось, что вам нужно использовать SceneView.lastActiveSceneView.camera в качестве камеры, и вы можете использовать Gizmos.DrawMesh () для рисования сетки вместо создания экземпляров ..

Есть такжеSceneView.OnSceneGUIDelegate, который может помочь вам получить доступ к представлению сцены.

Вот пример кода о том, как настроить

    void OnGUI() {
        if (objectThatFollowsMouse != null) {
            SceneView.onSceneGUIDelegate -= OnSceneGUI;
            SceneView.onSceneGUIDelegate += OnSceneGUI;
        }
        else { SceneView.onSceneGUIDelegate -= OnSceneGUI; }
    }
    void OnSceneGUI(SceneView sceneView) {
          ...
     }

с помощью некоторых дополнительных сценариев редактора, вы можете сделать что-то вроде этого

        Vector3 mousePoint = Camera.main.ViewportToWorldPoint(Input.mousePosition);
        if (objectShouldFollowMouse) {
            objectThatFollowsMouse.transform.position = mousePoint;
            if (Event.current.type == EventType.MouseUp) {
                objectShouldFollowMouse = false;
                objectThatFollowsMouse = null;
            }
        }

        if (prefabGotClicked) {
            GameObject obj = Object.Instantiate(someObject,mousePoint,Quaternion.identity) as GameObject;
            objectShouldFollowMouse = true;
            objectThatFollowsMouse = obj;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...