Einheitskamera/Objekt sendet Strahlen aus – eine kurze Anmerkung

(1) Strahlen von der Kamera aussenden

Funktion: Klicken Sie mit der Maus auf den Bildschirm, um einen Strahl auszusenden und den Namen des vom Strahl getroffenen Objekts auszudrucken.

Die Kamera sendet Strahlen aus: Ray ray =Camera.main.ScreenPointToRay(Input.mousePosition);

 public void RayFormCamer()//从相机发射射线
    { 
        RaycastHit hit;
        Ray ray =Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray,out hit))
        {
            Debug.Log(hit.transform.name);//打印射线碰撞到的物体名字
            
        }
    }

(2) Strahlen von Objekten aussenden

Funktion: Objekte in der Szene senden Strahlen aus und wenn eine Kollision erkannt wird, wird der Name des Objekts zurückgegeben.

Das Objekt sendet Strahlen aus: Vector3 V3 = transform.TransformDirection(Vector3.forward);

Dieses Skript muss an dem Objekt angebracht werden, das eine radiologische Erkennung erfordert

Wenn Sie Strahlen drucken müssen, müssen Sie die Strahllänge festlegen. Wenn Sie keine Strahlen drucken möchten, müssen Sie den Strahlabstand nicht angeben.

if (Physics.Raycast(transform.position,V3,out hit,"Ray detector distance"))

Debug.DrawLine("Starting point", "End point, "Color", "Display time"); //Drucken Sie den Strahl, der nur im Szenenfenster sichtbar ist (wenn Sie den Strahl drucken müssen, müssen Sie festlegen). Strahllänge, Farbe und Anzeigezeit optional)

public void RayForGame()//从物体发射射线
    {
        RaycastHit hit;
        Vector3 V3 = transform.TransformDirection(Vector3.forward);
        if (Physics.Raycast(transform.position,V3,out hit,20))
        {
            Debug.Log(hit.transform.name+hit.point);//打印射线碰撞到的物体
            Debug.DrawLine(transform.position, hit.point, Color.red,1);//打印射线(射线由脚本所在物体到达射线碰撞到的物体)
        }
    }

Strahlendiagramm im Szenenfenster drucken

 

Supongo que te gusta

Origin blog.csdn.net/qq_36361484/article/details/131788385
Recomendado
Clasificación