Ich habe und raycast, und ein rayCastHit. Immer wenn der Benutzer auf den Feuerknopf klickt. Es wird den FPS-Charater an den Ort bewegen, an dem sich der rayCastHit befindet. lightRetical ist eine gameObject-Variable, die ein Spotlight ist, das anzeigt, wo sich rayCastHit befindet.RayCast funktioniert nicht in GearVR
Die lustige Sache ist, es funktioniert, wenn ich in Einheit play klicken. Aber wann immer ich mein Android-Handy baue funktioniert es nicht. Ich kann den FPS-Charakter nicht bewegen.
Das FPS-Zeichen, das ich verwendete, stammt aus dem Standard-Asset "character" und die Codes, die ich sie der Update() -Methode hinzufüge.
RaycastHit seen;
Ray raydirection = new Ray(transform.position, cam.transform.forward);
int sightlength = 5;
if (Physics.Raycast(raydirection, out seen, sightlength))
{
if (seen.collider.tag == "Floor" && Input.GetButtonDown("Fire1")) //in the editor, tag anything you want to interact with and use it here
{
Vector3 relativePoint;
lightRetical.SetActive(true);
relativePoint = seen.point;
relativePoint.y = 2.0f;
bodychar.transform.position = relativePoint;
}
else
{
lightRetical.SetActive(true);
Vector3 relativePoint;
relativePoint = seen.point;
relativePoint.y = 2.64f;
lightRetical.transform.position = relativePoint;
}
}
else
{
lightRetical.SetActive(false);
}
Sie haben 'ScreenPointToRay (Input.mousePosition);' Ich habe VR vorher nicht verwendet, aber ich denke, dass das Problem sein könnte. Diese Codezeile, verwenden Sie eine Maus oder einen Berührungssensor mit VR? – Programmer
Danke für die Antwort, ich benutze nichts anderes, nur die VR allein. Hast du irgendwelche Vorschläge, die ich machen kann? Ich versuche gerade, die Input.mousePosition durch neue Vector3 zu ersetzen (200, 200, 0) – UserBlanko
Ich weiß nicht, warum Sie 'Input.mousePosition' verwenden würden, wenn keine Maus angeschlossen ist. Kannst du erklären, was du in dieser Zeile und im zweiten Raycast machen willst? Vielleicht gibt es eine andere bessere Möglichkeit, dies in VR zu tun. – Programmer