Jump to content
Unity Insider Forum

OnDrawGizmos Mouseposition


Marcel

Recommended Posts

Probier mal:

Vector3 mousePosition = Event.current.mousePosition;

Da du dich beim innerhalb der Gizmomethode vermutlich innerhalb des Editorkontextes befindest, funktioniert die Inputklasse nicht.
Ist quasi ähnlich wie innerhalb "Editor.OnInspectorGUI". Ich hoffe du weißt, daß OnDrawGizmos() auch nur in der Szeneview des Editors wirksam ist,.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast du dir ja scheinbar so einiges vorgenommen. 
Hier Code den du haben wolltest:

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class GizmoTest : MonoBehaviour {
    void OnDrawGizmos()
    {
        // Holt sich einen Ray von der aktuellen Mausposition in die 3D-Szene hinein
        Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
        RaycastHit hitInfo;
        if (Physics.Raycast(ray, out hitInfo, 10000f))
        {
            // hitInfo.point hält die 3D-Position eines Treffers, dies kann ein Terrain sein oder ein anderes Objekt mit einem Collider
            if (hitInfo.collider.GetType() == typeof(TerrainCollider))
            {
                Debug.Log("Terrain was hit at: " + hitInfo.point);
                Gizmos.color = Color.red;
                Gizmos.DrawSphere(hitInfo.point, 0.2f);
            }
        }
    }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...