Jump to content
Unity Insider Forum

Unity Charakter rutscht


Skalidor

Recommended Posts

Hallo!

Ich programmeire derzeit ein 3D Spiel in Unity. Wie ich einen Ball erstellt habe und ein Movement Script dafür geschrieben habe, habe ich bemerkt, dass mein Ball rutscht. Seitdem ich dieses Script meinen Ball hinzugefügt habe, fällt er auch die ganze Zeit sehr schnell von der Plattform. 

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class Movementnew : MonoBehaviour
{
    Rigidbody ri;
    Transform playerTrans;
    public float speed;
    public float g; 
    float gravity = 0;
    public Transform groundtest;
    public LayerMask ground;
    public bool grounded;
   

    // Start is called before the first frame update
    void Start()
    {
        ri = GetComponent<Rigidbody>();
        playerTrans = GetComponent<Transform>();
    }

    // Update is called once per frame
    void Update()
    {
        Collider[] colls = Physics.OverlapSphere(groundtest.position, 0.5f, ground);
        grounded = colls.Length > 0 ? true : false;
        if (!grounded)
        {
            playerTrans.position -= new Vector3(0f, gravity, 0f) * Time.deltaTime;
            gravity += g;
        }
        else
        {
            gravity = 0f;
        }
        float horizontal = Input.GetAxisRaw("Horizontal");
        float vertical = Input.GetAxisRaw("Vertical");
        if (vertical > 0)
            ri.AddForce(playerTrans.forward * 5f, ForceMode.Force);
        else if (vertical < 0)
            ri.AddForce(playerTrans.forward * -5f, ForceMode.Force);
        if (horizontal > 0)
            ri.AddForce(playerTrans.right * 5f, ForceMode.Force);
        else if (horizontal < 0)
            ri.AddForce(playerTrans.right * -5f, ForceMode.Force);

        /*
        Vector3 dir = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
        ri.velocity = Vector3.zero;
        ri.AddRelativeForce(dir * speed, ForceMode.Force);
        */
    }
}

Diesen Code benutze ich. 

Danke im Vorhinein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß gerade nicht, warum du "rutscht"... oder was das überhaupt genau heißen soll... aber warum verschiebst du selber über Transform dein Objekt, wenn da ein Rigidbody drauf ist? Das Ding kann ganz alleine runterfallen. Und wenn du eine Beschleunigung haben willst, hast du doch genau dafür AddForce?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...