

coldstone
Members-
Posts
34 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
coldstone's Achievements

Advanced Member (3/3)
0
Reputation
-
Hallo zusammen, ich habe ein kompliziertes Problem, zumindest von meiner sicht aus betrachtet. 🙂 Ich erstelle gerade eine 360° VR-Anwendung. Habe jetzt ein Sprite Objekt, welches 3 mal in der Szene mit dem selben Namen geladen wird. Um es vielleicht besser zu verdeutlichen: GameObject = Tisch SpriteObject = Mappe Nun wird dem Objekt "Tisch" 3 chield-objekte mit dem Sprite erstellet. Also Tisch Mappe Mappe Mappe Die frage ist, wie kann ich mit den einzelnen Objekten Arbeiten? Ich möchte ein einfaches Hovern der Objekte erzeugen. Habe jetzt mehrere ansätze versucht aber leider ohne erfolg. Habe dem Sprite einen TagNamen gegeben. Bsp. "ImageSmall" Somit haben ja alle drei "Mappen" jeweils den Tag "ImageSmall". Was auch jeweils in der Szene auch zu sehen ist. Nun ist es aber so, das nur das erste Kindobjekt "Hovert" und die anderen beiden nicht. Ich gehe davon aus das er immer ein bezug auf das erste Kind-Element nimmt und die beiden anderen nicht betrachtet. Hier mal mein RayCast Code: public class RaycastRightHand : MonoBehaviour { public bool CheckImageSelected; void FixedUpdate() { ImageSmall = GameObject.FindGameObjectWithTag("ImageSmall"); int layerMask = 1 << 8; // This would cast rays only against colliders in layer 8. // But instead we want to collide against everything except layer 8. The ~ operator does this, it inverts a bitmask. layerMask = ~layerMask; // Draws a 5 unit long red line in front of the object RaycastHit hit; // Does the ray intersect any objects excluding the player layer if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out hit, Mathf.Infinity, layerMask)) { if(hit.collider.GetComponentInChildren<Collider>() && !CheckImageSelected) { hit.transform.GetComponent<Animator>().enabled = true; hit.transform.GetComponent<Animator>().Play("TriggerImage1ViewFadeIn", -1, 0f); CheckImageSelected = true; } else if(CheckImageSelected == true) { ImageSmall.GetComponent<Animator>().Play("TriggerImage1ViewFadeOut", -1, 0f); CheckImageSelected = false; } Vielleicht hat jemand eine Rat wie ich es anders machen kann.
-
Muss irgendwie an den einstellungen in Unity sein, denn in einer anderen VR-Applikation in Unity, wird die selbe Datei abgespielt.
-
Hi zusammen, ich bin gerade dabei eine 360° VR App in Unity zu entwickeln. Habe da aber ein problem bzgl. des 360° Videos die abgespielt werden sollen. So wie ich das gelesen habe kann Unity ja kein h.265 codec abspielen. Meine Videos sind in HEVC (H.265) codiert. (Wird mir zumindest in vlc so angezeigt. Ich habe diese mit "Handbrake" und mit "vlc" diese in ein H.264 umgewandelt. H.264 soll Unity laut der doc abspielen können. Bekomme aber in der console immer folgende Fehlermeldung angezeigt: Unexpected timestamp values detected. This can occur in H.264 videos not encoded with the baseline profile. Timestamps will be skewed to correct the playback C:/************************************.mp4 Jemand eine Iee/Lösung wie ich das Lösen kann?
-
Was muss ich denn unter einem " Zero-Width Space (Ascii 8203)" verstehen??? 😅
-
Ok, so läufts. Vielen dank für die unterstützung. ISt aber schon irgendwie komisch, daß mann den reinen Text nicht in double umwandeln kann.
-
Genau das selbe Problem
-
Du meinst eine ganz neue Szene mit einem einfachen Canvas und einfachem InputField mit dem obigen Wert?
-
Kann es irgendwie an den TextMeshPro - Input Field einstellungen liegen?
-
Gibt folgendes in der Console raus. (siehe Anhang)
-
Zahlen, wie z.B. 1256 oder 12324 😅
-
Das ist ein Input Field, wo ich im UI selbst Werte eingeben kann und dann auf einen Button klicke, welches die "TaskOnClick" - Methode ausführt, oder was meinst du mit "Werte"? 🙂
-
Also ich gebe einfach reine Zahlen ein, ohne irgendwelche kommas oder punkte. Wenn ich z.B. den eingegebenen Wert auf der Console direkt ausgebe, kommt die selbe Fehlermeldung. void TaskOnClick() { //GPSData.GetComponent<GPSTrackerVCar>().latVehicle = double.Parse(latitude.GetComponent<TextMeshProUGUI>().text); //GPSData.GetComponent<GPSTrackerVCar>().lonVehicle = double.Parse(longitude.GetComponent<TextMeshProUGUI>().text); double lon = double.Parse(longitude.GetComponent<TextMeshProUGUI>().text); double lat = double.Parse(longitude.GetComponent<TextMeshProUGUI>().text); Debug.Log(lon); } Wenn ich aus dem double einfach einen String mache, dann gibt er mir den string richtig in der console aus: void TaskOnClick() { //GPSData.GetComponent<GPSTrackerVCar>().latVehicle = double.Parse(latitude.GetComponent<TextMeshProUGUI>().text); //GPSData.GetComponent<GPSTrackerVCar>().lonVehicle = double.Parse(longitude.GetComponent<TextMeshProUGUI>().text); string lon = longitude.GetComponent<TextMeshProUGUI>().text; string lat = longitude.GetComponent<TextMeshProUGUI>().text; Debug.Log(lon); } Irgendwie scheint doch das umwandeln mit "double.Parse...", nicht zu funktionieren.
-
Hallo zusammen, ich habe folgendes Problem. Ich habe einen Input Field, wo ich Text eingeben kann. Dieser soll an eine double-Variable in einem anderen Skript übergeben werden. Bekomme aber leider in der Console folgende Fehlermeldung: FormatException: Input string was not in a correct format. Das Skript welches den Input aufnimmt: using System.Collections; using System.Collections.Generic; using UnityEngine.UI; using UnityEngine; using TMPro; public class setGPSData : MonoBehaviour { public GameObject latitude; public GameObject longitude; public GameObject GPSData; // Start is called before the first frame update public Button button; void Start() { Button btn = button.GetComponent<Button>(); btn.onClick.AddListener(TaskOnClick); } void TaskOnClick() { GPSData.GetComponent<GPSTrackerVCar>().latVehicle = double.Parse(latitude.GetComponent<TextMeshProUGUI>().text); GPSData.GetComponent<GPSTrackerVCar>().lonVehicle = double.Parse(longitude.GetComponent<TextMeshProUGUI>().text); } } Die Variablen latVehicle + lonVehicle, sind double-Werte, welche im Skript "GPSTracker" vorhanden sind.
-
Das meinte ich auch mit "...vielleicht eine andere Methode verwenden....". Nur finde ich keine Methode um mit diesem sogenannten Broadcast empfangenen Daten zu arbeiten.
-
Naja, die Daten vom Tablet werden ja in der Console meiner Windows APP angezeigt. Nur als Fehlermeldung. Windows App Console gibt folgende Fehlermeldung aus: BroadcastMessage 53,11489,58,78012 has no receiver! Und die Daten... 53,11489,58,78012 ...kommen ja von dem Tablet. Anscheinend kommen die Daten bei der Windows-App ja an. Sonst würde es diese nicht korrekt als Fehlmeldung ausgeben.