Die einfache Art und Weise Spieler vordere Position zu bestimmtem AbstandPosition vom Spieler nach vorne zu konstantem Abstand
Vectro3 forward = player.transform.forward * distance;
Vector3 newPlayerFronPosition= player.transform.position + new Vector3(forward.x, forward.y, forward.z);
newPlayerFronPosition= new Vector3(newPlayerFronPosition.x, newPlayerFronPosition.y - 4f, newPlayerFronPosition.z);
navigationCanvas.transform.position = newPlayerFronPosition;
navigationCanvas.transform.rotation = camRotationToWatch.transform.rotation;
sein tatsächlich funktioniert gut, aber das Problem ist, zu erhalten, wie meine Spieler unten die navCanvas nach oben oder ver nahe erscheinen worden zu meinem Spieler. Wie kann man die ganze Zeit die richtige Distanz finden? dass, egal Spieler Blick oben oder unten die navcanvas Anzeige bei specfic Abstand. (Position)
disatnceUICam = Vector3.Distance(newPlayerFronPosition, player.transform.position);
Ich loggte auch den Abstand und überraschend es der Abstand ändert, wenn ich oder nach unten bewegte oben. es ändert sich von 6 zu 12, während ich nach oben schaue.
scheint sehr wahr, aber warum nicht das y forward verwenden? was ist die Logik –
Ich fügte y vorwärts mit in horizontaler Vorwärts und wieder Abstand wird variabel –
schöne Antwort können Sie es lösen –