2017-02-01 13 views
10

Eksportuję modele z Blendera do Collady z animacją. Jak wiadomo, Blender to system praworęczny, więc jego oś do góry to z, a OpenGL ES2 to Y-Up.Rozwiąż z-Up wyeksportowany plik collada z blendera w OpenGL

Dla siatek statycznych mogę obrócić obiekt wokół osi x dla 90 stopni, ale gdy zastosuję obrót do macierzy ramki, ma on nieoczekiwane wyniki.

Jak mogę to zrobić?

+0

Co dokładnie masz na myśli z „matrycy ramki”? Obróciłem tylko siatkę ze wszystkimi kościami w trybie obiektów o -90 ° na osi X i uzyskałem wynik, którego oczekiwałbym (z animacjami). – Lichtbringer

+0

Czy możesz podać nam więcej szczegółów na temat "nieoczekiwanych wyników"? Zrzuty ekranu, a może przynajmniej ... co było nieoczekiwane? –

+1

Pamiętaj, że kolejność operacji naprawdę ma tutaj znaczenie. Powinieneś stosować rotację ** przed ** jakiekolwiek inne transformacje się zdarzają (tj. Powinny przychodzić przed każdym tłumaczeniem do przestrzeni świata itp.) –

Odpowiedz

2

Aby obrócić obiekt:

Aby ręcznie obrócić obiekt, należy wybrać obiekt (zwykle przez kliknięcie prawym przyciskiem myszy obiekt). Następnie po prostu naciśnij "R" na klawiaturze i porusz myszą i zobacz, jak obiekt odpowiednio się obraca. Możesz zrozumieć, że masz ograniczenia co do tego, jak się obraca; naciśnij "R" ponownie, a teraz zobaczysz obiekt obracający się swobodnie w zależności od tego, jak poruszasz myszą.

Jeśli chcesz obrócić obiekt wokół osi X o 90 stopni, to jeszcze raz wybierz obiekt, naciśnij "R" na klawiaturze (R służy do obracania), a następnie naciśnij "X" na klawiaturze (X jest dla osi X), następnie wpisz 90 na klawiaturze numerycznej iw końcu naciśnij "Enter". Zobaczysz, że twój obiekt obraca się o 90 stopni wzdłuż osi X.

obrócić całą scenę:

  1. zaznaczyć wszystkie obiekty rodzic
  2. Przesuń kursor 3D do 0,0,0
  3. obracać wokół kursora: globalnej osi X, -90 stopni
  4. Zastosuj obrót
  5. Kontynuuj ze zwykłym eksportem

Prawidłowym sposobem rozwiązania tego problemu jest wykonanie rotacji jako części eksportu, ponieważ punktem eksportu będzie poprawnie zorientowany obiekt Blendera i wytworzenie poprawnie zorientowanego obiektu Unity. Powinieneś wykonywać rotację przed czymkolwiek innym. Zastosowanie rotacji powinno nastąpić przed jakimkolwiek tłumaczeniem w rzeczywistym kadrze.

Więcej szczegółów na ten temat można znaleźć w wątku: https://blenderartists.org/forum/archive/index.php/t-255246.html

Powiązane problemy