Raycasts: Unterschied zwischen den Versionen

Aus hyperdramatik
Zur Navigation springen Zur Suche springen
Zeile 9: Zeile 9:
using UnityEngine;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UI;
//Bis hierhin werden die libraries, auf die Unity zurückgreift, benannt
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 ;
    public GameObject rayTest;
// Weil Testing in AR schwierig ist, wird hier ein Debug Textfeld angelegt, das im Editor noch verknüpft werden muss
    // Start is called before the first frame update
 
     // Update is called once per frame
     // Update is called once per frame
     void Update()
     void Update()
     { if (Input.touchCount >0)
     { 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";
         { textDebug.text = "TOUCHED";
// Debugging in
             PerformRaycast();
             PerformRaycast();
         }
         }
</code>
         else
         else
         {
         {
             textDebug.text = "NO TOUCH";
             textDebug.text = "NO TOUCH";
            hitStatus = 0;
         }
         }
         if (Input.touchCount >0 && Input.GetTouch(0).phase==TouchPhase.Began)
         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";
             textDebug.text = "RAYCAST";
             PerformRaycast();
             PerformRaycast();
         }
         }
</code>
}
</source>
</source>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class hit : MonoBehaviour
Der Name des Scripts ist hit, daher das hit hinter public class.
{
    public Text textDebug ;
    public GameObject rayTest;
    // Start is called before the first frame update
    // Update is called once per frame
    void Update()
    { if (Input.touchCount >0)
        { textDebug.text = "TOUCHED";
            PerformRaycast();
        }
</code>
        else
        {
            textDebug.text = "NO TOUCH";
            hitStatus = 0;
        }
        if (Input.touchCount >0 && Input.GetTouch(0).phase==TouchPhase.Began)
        {
            textDebug.text = "RAYCAST";
            PerformRaycast();
        }
</code>

Version vom 8. April 2020, 08:49 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, 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();
        }