Zablokowanie rotacji

Programowanie w Unity.

Zablokowanie rotacji

Postprzez Damian24452 » 28 Lip 2021, 09:48

Witam,

mam obiekt rigidbody w którym zablokowałem już rotację Y oraz Z, pomimo tego obiekt czasami zaczyna się sam obracać. Postanowiłem zatem zablokować ją używając poniższego kodu ( w Update() ) i problem polega na tym, że teraz rotacja X działa tylko w przedziale -90, 90 stopni.
Pytanie w jaki sposób mogę to zrobić, aby obiekt mógł się obracać swobodnie o 360 w osi X, a na osiach Y i Z zawsze było 0.

Kod: Zaznacz wszystko
transform.eulerAngles = new Vector3(transform.eulerAngles.x, 0, 0);
Damian24452
 
Posty: 11
Rejestracja: 28 Sie 2019, 13:27
Miejscowość: Kartuzy
Has thanked: 0 time
Been thanked: 0 time

Re: Zablokowanie rotacji

Postprzez Wichur » 28 Lip 2021, 11:00

Chyba najlepiej bedzie gdy objekt bedzie w gameobjekcie i uzyjesz localeulerangles
Bo teraz robisz wzgledem świata i może to powodować błędne rotacje
Awatar użytkownika
Wichur
 
Posty: 159
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: Zablokowanie rotacji

Postprzez Damian24452 » 28 Lip 2021, 13:02

Próbowałem już używać localeulerangles, oraz mieszałem w gameobjektach nic się nie zmienia...
Bardziej chodzi mi o to w jaki sposób mogę poprawnie pobrać aktualną rotację i ją "zaaplikować", ponieważ aktualnie rotacja w transformie wynosi np. -90 stopni, ale w transform.localEulerAngles.x wynosi 270, 0 to 0, 180 też 0, -180 też 0.
Damian24452
 
Posty: 11
Rejestracja: 28 Sie 2019, 13:27
Miejscowość: Kartuzy
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 5 gości

cron