• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[unity, c#]Problem z rotacją obiektu (prefab'a)

0 głosów
83 wizyt
pytanie zadane 1 sierpnia 2017 w OpenGL, Unity przez SzczerbekGame Bywalec (2,740 p.)

Witam, od paru dni programuje w unity (skrypty w c#) i pojawił mi się problem z rotacją gracza.

Oto mój kawałek kodu:

if (arrowKey == KeyCode.UpArrow) { rote.AllYLast = rote.AllY;  rote.AllY = 0; }
        if (arrowKey == KeyCode.DownArrow) { rote.AllYLast = rote.AllY; rote.AllY = 180; }
        if (arrowKey == KeyCode.LeftArrow) { rote.AllYLast = rote.AllY; rote.AllY = -90; }
        if (arrowKey == KeyCode.RightArrow) { rote.AllYLast = rote.AllY; rote.AllY = 90; }
if (((kc == KeyCode.UpArrow && rote.AllYLast != 0) ||
            (kc == KeyCode.DownArrow && rote.AllYLast != 180) ||
            (kc == KeyCode.LeftArrow && rote.AllYLast != -90) ||
            (kc == KeyCode.RightArrow && rote.AllYLast != 90) ) &&
            kc != KeyCode.Print) 
        {
            transform.rotation = new Quaternion(0, rote.AllY, 0, 0); //<--- To mnie interesuje i nie działa
        }

Ustaliłem, że struktura rote ma dobre wartości. Przy rotacji 0 (Do przodu ('W')) jest wszystko dobrze, przy rotacji 180 (Do tyłu ('S')) też jest wszystko dobrze. Jednak przy rotacji 270 (W lewo ('A')) i 90 (w prawo (''D)) jest coś nie tak. Rotation się nie zmienia, (rote tak).

Film

1 odpowiedź

+1 głos
odpowiedź 1 sierpnia 2017 przez PoetaKodu Stary wyjadacz (11,070 p.)
wybrane 1 sierpnia 2017 przez SzczerbekGame
 
Najlepsza

Domyslnym konstruktorem Quaternionu nie są kąty Eulera (tj. te kąty np. 0 do 360 stopni) tylko jest to konstruktor, który kopiuje inny kwaternion z parametrów (x, y, z, w), które są już gotowym wynikiem po przekształceniu kątów Eulera. Zrób tak:
 

transform.rotation = Quaternion.Euler(katX, katY, katZ);

katX jest oczywiście kątem obrotu na około osi X, katY na około osi Y a katZ na około osi Z.

Podobne pytania

0 głosów
3 odpowiedzi 276 wizyt
pytanie zadane 26 grudnia 2017 w OpenGL, Unity przez SzczerbekGame Bywalec (2,740 p.)
0 głosów
0 odpowiedzi 21 wizyt
pytanie zadane 14 marca w C# i .NET przez Pankracor Użytkownik (610 p.)
0 głosów
1 odpowiedź 63 wizyt
pytanie zadane 13 marca 2016 w OpenGL, Unity przez zigi Nowicjusz (120 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

63,237 zapytań

109,481 odpowiedzi

228,702 komentarzy

43,245 pasjonatów

Przeglądających: 305
Pasjonatów: 17 Gości: 288

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...