Raycasts: Unterschied zwischen den Versionen

Aus hyperdramatik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
public class hit : MonoBehaviour
public class hit : MonoBehaviour
//Der Name des Scripts ist hit, daher das hit hinter public class.
//Der Name des Scripts ist hit, daher das hit hinter public class.
{
     public Text textDebug ;
     public Text textDebug ;
// Weil Testing in AR schwierig ist, wird hier ein Debug Textfeld angelegt, das im Editor noch verknüpft werden muss
// Weil Testing in AR schwierig ist und jedes Mal einen neuen Build erfordert, wird hier ein Debug Textfeld angelegt, das im Editor noch verknüpft werden muss
     // Update is called once per frame
     // Update is called once per frame
     void Update()
     void Update()
Zeile 33: Zeile 32:
             PerformRaycast();
             PerformRaycast();
         }
         }
}
</source>
</source>

Version vom 8. April 2020, 09:03 Uhr

Raycasts dienen dafür, eine unsichtbare Achse von einem bestimmten Punkt in die Welt zu schlagen. In VR sind sie nützlich, um den Blicken der Benutzerin zu folgen. In AR können sie benutzt werden um eine Achse von der Kamera des Benutzer in die reale Welt zu projizieren, reale Projekte zu berühren und auf dem Tablet interagierbar zu machen.

Raycast on touch

// Das ist ein Versuch
// 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//Bis hierhin werden die libraries, auf die Unity zurückgreift, benannt
public class hit : MonoBehaviour
//Der Name des Scripts ist hit, daher das hit hinter public class.
    public Text textDebug ;
// Weil Testing in AR schwierig ist und jedes Mal einen neuen Build erfordert, wird hier ein Debug Textfeld angelegt, das im Editor noch verknüpft werden muss
    // Update is called once per frame
    void Update()
    { if (Input.touchCount >0)
// .touchCount ist die genaueste Methode, um die folgende Funktionen abzurufen, da es auf jede zusätzliche Berührung reagiert. 
        { textDebug.text = "TOUCHED";
// Debugging in 
            PerformRaycast();
        }
        else
        {
            textDebug.text = "NO TOUCH";
        }
        if (Input.touchCount >0 && Input.GetTouch(0).phase==TouchPhase.Began)
//Input.GetTouch(0).phase==TouchPhase.Began veranlasst einen einen neuen Raycast bei jeder neuen Berührung. 
        {
            textDebug.text = "RAYCAST";
            PerformRaycast();
        }
}