Rotacja obiektu...

Ogólne pytania na temat Unity3D

Rotacja obiektu...

Postprzez ozyrys120 » 06 Paź 2017, 15:46

Pytanie

Mam obiekt 2d który porusza się z prawej do lewej strony ... transform.translate ....
Dopisałem do niego kod żeby obracał się wokół własnej osi: transform.Rotate(new Vector3(0, 10f * Time.deltaTime, 0));
I super obraca się tylko, że obiekt już nie idzie z prawej do lewej tylko robi koła na ekranie.
Jak powinienem ustawić rotacje, żeby nie wpływając na ruch z prawej do lewej, obiekt kręcił się wokół własnej osi.
Awatar użytkownika
ozyrys120
 
Posty: 31
Rejestracja: 03 Wrz 2016, 10:25
Has thanked: 0 time
Been thanked: 0 time

Re: Rotacja obiektu...

Postprzez Marcin » 06 Paź 2017, 17:17

Wszystko zależy od tego, jak wygląda Twoja gra. Rotując obiekt zmieniasz jego orientację w przestrzeni. Funkcja Translate jako drugi argument przyjmuje przestrzeń, względem której wykonywany jest ruch. Domyślnie jest to własna przestrzeń. Z tego względu, gdy obrócisz obiekt i zrobisz coś stylu Translate(Vector3.left), to będzie poruszał się w swoje lewo, tak jak Tobie by ktoś kazał iść w lewo (Twoje lewo). Jeżeli ustawisz drugi argument na Space.World, wtedy obiekt będzie poruszał się w jedną stronę niezależnie od swojej rotacji.
Marcin
 
Posty: 270
Rejestracja: 25 Lip 2016, 10:44
Has thanked: 0 time
Been thanked: 0 time

Re: Rotacja obiektu...

Postprzez ozyrys120 » 16 Paź 2017, 16:00

Dzięki! Pomogło.
Awatar użytkownika
ozyrys120
 
Posty: 31
Rejestracja: 03 Wrz 2016, 10:25
Has thanked: 0 time
Been thanked: 0 time


Wróć do Wsparcie Unity

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości