texaskeks2oo Geschrieben 19. Januar 2021 Melden Share Geschrieben 19. Januar 2021 Guten Tag, ich stehe vor ein Problem bei dem ich nicht mehr weiter weiß. Das Objekt was sich bewegen soll teleportiert sich immer automatisch weiter vom Boden weg und fliegt dann in der Luft. Denn Boden habe ich mit dem Mesh Collider gemacht. Jedoch fliegt mein Objekt nach dem ich es bewege einfach in die Luft. Würde mich freuen wenn mir jemand weiter helfen kann. Danke Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 19. Januar 2021 Melden Share Geschrieben 19. Januar 2021 Hallo Wie bewegst du das Objekt? Hast du vielleicht negative Gravitation eingestellt? Teleportiert sich das Objekt ober bewegt es sich kontinuierlich? Hilf uns etwas.... Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
texaskeks2oo Geschrieben 19. Januar 2021 Autor Melden Share Geschrieben 19. Januar 2021 Hallo, Das Objekt bewege ich mit dem Character Controller. Nach dem ich das Objekt etwas nach vorne bewegt habe teleportiert sich das Objekt einfach in die Luft und bleibt da stehen. Weiter bewegen kann ich es jedoch schwebt es in der Luft einfach weiter. Und Negative Gravitation habe ich auch nicht eingestellt. Danke Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 19. Januar 2021 Melden Share Geschrieben 19. Januar 2021 Hallo Zeigst du noch etwas code? Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
texaskeks2oo Geschrieben 19. Januar 2021 Autor Melden Share Geschrieben 19. Januar 2021 Zitat using System.Collections; using System.Collections.Generic; using UnityEngine; public class CharacterMovement : MonoBehaviour { //Puvlix Variables public float speed; public float gravity; //Private Variables private CharacterController _characterController; private float currentGravity = 0f; // Start is called before the first frame update void Start() { _characterController = gameObject.GetComponent<CharacterController>(); } // Update is called once per frame void Update() { Vector3 finalMovement = Movement() + ApplyGravity(); _characterController.Move(finalMovement * Time.deltaTime); } Vector3 ApplyGravity() { Vector3 gravityMovement = new Vector3(0, -currentGravity, 0); currentGravity += gravity * Time.deltaTime; if (_characterController.isGrounded) { if (currentGravity > 1f) currentGravity = 1f; } return gravityMovement; } Vector3 Movement() { Vector3 moveVector = Vector3.zero; moveVector += transform.forward * Input.GetAxis("Vertical"); moveVector += transform.right * Input.GetAxis("Horizontal"); moveVector *= speed; return moveVector; Sorry hab ich vergessen. ^^ Danke Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.