Raycasts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Fabian (Diskussion | Beiträge) |
Fabian (Diskussion | Beiträge) |
||
| 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 ; | ||
// 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 | // 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(); | ||
} | } | ||
else | else | ||
{ | { | ||
textDebug.text = "NO TOUCH"; | textDebug.text = "NO TOUCH"; | ||
} | } | ||
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(); | ||
} | } | ||
</source> | </source> | ||
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();
}