Obracanie Wieży czołgu

Programowanie w Unity.

Obracanie Wieży czołgu

Postprzez Michu2137 » 20 Sty 2021, 12:56

Hej, chciałbym zrobić skrypt, który obraca wieże do drugiej wieży... trochę zagmatwane więc wyjaśnię. Nad kadłubem czołgu są dwie wieże jedna niewidoczna a druga widoczna i strzelająca pociskami, oby dwie mają takie same parametry w transform. Idea jest taka, że ta niewidoczna wieża zawsze zwraca się przodem do miejsca, które wskazuje myszką poprzez LookAt. Chciałbym aby ta druga, widoczna wieża powoli i ociężale np. przez transform.Rotate(0 ,1 ,0) obracała się do tej niewidocznej wieży.
Np. pokazuję myszką jakieś miejsce. Ta niewidoczna od razu się obraca dając tej widocznej rotacje, która jest potrzebna(po prostu pokazuje tej widocznej jak i w którą stronę ma się obrócić) a ta widoczna powoli do tej niewidocznej dołącza poprzez dodawanie do rotacji np. 1 lub -1 aż nie będzie równe do rotacji tej niewidocznej.

Pomysł chyba jest dobry tylko chyba jestem za głupi żeby napisać skrypt, który będzie działał co najmniej w połowie :p

np. napisałem taki kod:
Kod: Zaznacz wszystko
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ObracanieWiezy : MonoBehaviour
{
    public Transform cel;
    // "cel" to jest ta niewidoczna wieża

    void FixedUpdate()
    {
        if(!Input.GetMouseButton(1)){
            Debug.Log(cel.rotation.y);
            if(transform.rotation.y > cel.rotation.y){
                //jesli cel jest na mniejszym stopniu..
                transform.Rotate(0,-1,0);
                //to obroc do tylu
            }
            if(transform.rotation.y < cel.rotation.y){
                //jesli cel jest na wiekszym stopniu..
                transform.Rotate(0,1,0);
                //to obroc do przodu
            }
        }
    }
}

iiii.... nie działa. znaczy działa, ale tylko na 270 stopniach (jeśli ustawie myszkę na pozostłych 90 stopniach to wieża dostaje szału, nie wiem czemu :p)

Mógłby ktoś powiedzieć jak ten skrypt napisać, albo chociaż napisać jak mam to rozwiązać (jakaś podpowiedź)?
z góry dzięki :3
Michu2137
 
Posty: 3
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: Brak zarejestrowanych użytkowników oraz 7 gości