Problem ze zmianą szybkości

Programowanie w Unity.

Problem ze zmianą szybkości

Postprzez Gradomir » 22 Sty 2022, 13:02

Cześć,
Jestem świeżakiem, jeśli chodzi o C# i Unity. Szukałem na wielu forumach (głównie zagranicznych) i prawdopodobnie gdzieś widziałem rozwiązanie, ale pewnie nie zrozumiałem.
Mój problem polega na tym, że obiekt sferyczny ma poruszać się automatycznie do przodu ze stałą prędkością (obracając się) i tylko z ruchem horyzontalnym sterowanym przez gracza (lewo/prawo). Obiekty na drodze mogą go spowalniać, ale po chwili ma wracać do wskazanej przeze mnie predkości.
Wyskrobałem coś takiego i obiekt rzeczywiście się porusza lewo/prawo (udaje mi się ustawiać szybkość poruszania na boki jaką chcę) i porusza się sam z siebie do przodu, ale dość powoli. Chciałbym, aby poruszał się o wiele szybciej, ale nie wiem za bardzo, jak to zrobić, ponieważ jak kombinuję ze speedem, czy forwardspeed to albo porusza się z taką samą prędkością do przodu jak zazwyczaj (od którejś "wartości" jest jakby ta sama maksymalna), albo prawie w ogóle.
Mój kod wygląda aktualnie tak:

Kod: Zaznacz wszystko
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SphereController : MonoBehaviour
{   
    [Header("Control Settings")]
    [SerializeField]
    public float speed = 1f;




    private Rigidbody rb;
   




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

    // Update is called once per frame
    void FixedUpdate()
    {
       
        float Hdirection = Input.GetAxis("Horizontal");
        float forwardspeed = 1;
        {
            rb.AddTorque(new Vector3(forwardspeed, 0, -Hdirection) * Time.deltaTime * speed);
        }

        {
            rb.AddTorque(new Vector3(forwardspeed, 0, -Hdirection * speed) * Time.deltaTime);
        }



       

    }

   


}


Czy ktoś mógłby podpowiedzieć, co muszę zrobić i gdzie, żeby móc tą prędkość do przodu przyspieszać tak jak chcę?

Z góry dziękuję za pomoc.
Jeżeli jest podobny wątek, ale go nie zauważyłem, to przepraszam za śmiecenie.
Awatar użytkownika
Gradomir
 
Posty: 1
Rejestracja: 22 Sty 2022, 12:50
Has thanked: 0 time
Been thanked: 0 time

Re: Problem ze zmianą szybkości

Postprzez Michu2137 » 22 Sty 2022, 14:23

Z tego co mówisz wygląda na to że coś w pewnym momencie zaczyna "hamować" obracanie się obiektu. najprawdopodobniej wystarczy zmniejszyć "angular drag" w komponencie rigidbody bo to on jest odpowiedzialny za symulowanie tarcia obrotowego
Michu2137
 
Posty: 7
Rejestracja: 03 Lis 2020, 19:57
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Bing [Bot] oraz 9 gości

cron