Witajcie, postanowiłem dać Wam znów kawałek xenona, tym razem jest to mała biblioteczka (ze względu na wagę) o dużych możliwościach jakie dają macierze. Czym są macierze? Do lektury odsyłam TUTAJ :) A po co Nam te macierze? A no tutaj nie będę tak leniwy i powiem. Otóż wszelkie operacje transformacji (czy to 3D czy 2D) odbywają się na macierzach (przynajmniej powinny), które są czymś co ułatwia Nam całkowicie sprawę i nie potrzebujemy już milionów lengthdirów aby obrócić ramię naszego szkieletu, wystarczy "obrócić macierz" i przemnożyć przez nią wektor jakim jest punkt (2D/3D) i jako wynik dostaniemy przetransformowany punkt. Ale po co Nam to skoro do obrotu wystarczy nam lengthdir i odpowiednia kolejność? a no dla tego że macierz ma taką dobrą właściwość jak składanie transformacji i może przechować wszystkie dokonane operacje transformacji w jednej takiej samej (czyli tablicy 4x4 elementów) bez konieczności martwienia się o lengthdiry i multum obliczeń. Dla większości osób piszących grę 3D w GM ma problem z kamerą, że nie zawsze ustawia się jak należy, przez co obraz może się zniekształcać. Tym bardziej osoby chcące obracać kamerę w osi X (kąt gamma) też nie potrafią tego zrobić, i dla tego z pomocą przychodzi macierz, którą "obracamy", transponujemy (aby odzwierciedlić ją na GMową orientację w przestrzeni) i mnożymy przez nią wektor patrzenia oraz wektor góry kamery. Jak to się czyta to wydaje się dzikie i niezrozumiałe, ale w przykładzie jest to o wiele łatwiejsze ;P dla tego polecam spawdzić jak to działa, bo jest to bardzo przydatne dla odciążenia kochanego procka :) możecie też dać swoje propozycje jakie przykłady z transformacjami dodać :)
Download
Wersja ta zawiera:
* prostą kamerę symulatora lotu (obracanie kamerą za pomocą W,S,A,D,Q,E)
* zaawansowaną kamerę symulatora lotu (obracanie samolotem za pomocą strzałek)
W Game Info jest lista do zrobienia, chętnie też dodam Wasze pomysly ;)
Screeny: