Rozwiązywanie Problemów Z Kamerą DirectX 10 Free Look W Najprostszy Sposób

Pobierz oprogramowanie do naprawy komputera, o którym wszyscy mówią. Pobierz tutaj.

W ciągu ostatniego tygodnia niektórzy z naszych subskrybentów natknęli się na zaobserwowany komunikat o błędzie z kamerą Directx dziesięć Free Look. Ta porażka może wystąpić z wielu powodów. Omówmy to poniżej.

Prezentacja:

kamera o swobodnym wyglądzie directx 10

Ok, po prostu obiecałem napisać artykuł o tym, jak napisać podstawowy i swobodny aparat wektorowy. Ten przewodnik po strategii dotyczy nie tylko DirectX10, ale mimo to prawie wszystkich graficznych interfejsów API. Chcemy, aby wszystko było proste, dlatego najprostszą kamerą, jaką możemy zastosować, inną niż kamera ludzka, jest zwykle kamera o swobodnym widoku (bez ról), zwykle są tylko dwa stopnie swobody uczelni: lewy/prawy, nie opisz góra/dół, chcemy również zaimplementować pauzy w tempie do przodu/do tyłu i dobrze w lewo/w prawo.

Podstawy aparatu

Najpierw funkcje, jak zwykle, nie będę odpowiadał szczegółom renderowania i przewidywań oraz http://en.wikipedia.org/wiki/3D_projection. Okej, rozważ to teraz każda scena 3D musi mieć rzeczywistą wirtualną kamerę z widokiem skojarzonym z polem (FOV-theta) i bliskimi (a) do tej pory (b) płaszczyznami widoku, które całkowicie tworzą stożek widoku pokazany na rysunku 1. To obcięte stożek opisuje to, co widać we wnętrzu sceny, wszystkie geometryczne redukcje i widoki. Tłumienie powierzchniowe jest wyśrodkowane na ich pniu.

Teraz kształt związany z lufą jest określany przez jedno konkretne narzędzie, którego używasz Sekcja. Istnieje kilka rodzajów projekcji, ale istnieje duże prawdopodobieństwo, że w rezultacie użyjesz projekcji perspektywicznej. Teraz dołączony jest ekran projekcyjny wracający do naszego wirtualnego obiektywu (pomyśl o projekcji jako dobrym jednoczęściowym obiektywie sprzętu do monitoringu wideo), aby nawigować po każdej naszej scenie, musimy znać dokładną pozycję, z której się sprawdzamy scena, kierunek i to jesteśmy. wejście Jeśli możesz patrzeć w górę i który proces jest dosłownie na górze (patrz Uwaga 2), to teraz kierunek w górę jest stosunkowo ważny dla szacowania ruchu i oczywiście do wyświetlania powiedziałbym, że scena z siłą skierowaną w górę z dala 😉Te trzy punkty orientacyjne to zwykle pozycja oka, najprawdopodobniej wektor widoku, a ja wektor włączenia.

W przypadku kamery o swobodnym widoku, ten wektor w górę musi znajdować się wewnątrz naszego własnego górnego kierunku kamery. Gdybyśmy mieli zrobić cyfrową kamerę wideo dla początkujących, w której widz człowieka jest zawsze przyklejony do mojego podłoża, jego kierunek zawsze będzie skierowany do góry. z raju. Więc jeśli widzisz scenę, musisz ustawić wirtualną kamerę w dowolnym miejscu w każdej scenie (pozycja/góra/widok) i umieścić ją w środku. Przenieś ją do jakiejś formy obiektywu (projekcja).

Aktualizacja: Reimage

Czy Twój komputer działa? Nie martw się, Reimage jest tutaj, aby pomóc. Wystarczy kilka kliknięć, aby nasze oprogramowanie przeskanowało Twój system w poszukiwaniu problemów i automatycznie je naprawiło. Możesz więc jak najszybciej wrócić do pracy. Nie pozwól, aby drobna usterka Cię powstrzymała — pobierz Reimage już dziś!

  • Krok 1: Wejdź na stronę Reimage i kliknij przycisk „Pobierz”
  • Krok 2: Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zainstalować Reimage
  • Krok 3: Otwórz Reimage i kliknij przycisk „Skanuj teraz”

  • Teraz muszę koniecznie szybko wyjaśnić, co dzieje się z wierzchołkami nowego idealnego obiektu, gdy przechodzi on przez, jak widzisz, potok renderujący. Jeśli wierzchołek obiektu pomaga utrzymać kierunek renderowania w dół, ta metoda ma pozycję w przestrzeni zestawu narodowego, ta pozycja jest teraz skierowana do miejsca, w którym obiekt powinien łatwo znajdować się na świecie, poprzez zwiększenie liczb wierzchołka o punkt – macierz wszechświata. Teraz, jeśli podróżujesz po świecie, wyobrażasz sobie, że świat zatrzymuje się, podczas gdy kanon się porusza, ale od tej chwili warto pomyśleć, co zwykle kojarzy się z czymś przeciwnym, ponieważ kamera jest w rzeczywistości nieruchoma, a kraj jest ważnym poruszającym się światem. Ponieważ to było absolutnie w przeszłości.

    Kamera wideo nigdy się nie porusza, pozycja globalna jest właściwie dostosowywana, aby przekazać ten fakt. Po ustawieniu tak, aby nasz indywidualny obiekt znajdował się na świecie, tym kolejnym krokiem jest przesunięcie produktu, aby pasował do naszego miejsca siedzącego, a także punktu widzenia. Jeśli chcemy, aby to pomogło w wyszukiwaniu na lewo od tego konkretnego pokoju, musimy przesunąć cały świat w prawo, z pewnością, aby ludzie mnożyli pozę wierzchołków przez własną macierz widoku, aby w razie potrzeby przenieśćXia. Pamiętaj, że na przekór, iż każdy pojedynczy obiekt ma swoją własną macierz zasięgu, wszystkie one używają typowo tej samej macierzy reprezentacji. Poprzednią sztuczką, którą należy zastosować do każdego wierzchołka, jest macierz kratowa. W prawdziwym aparacie jakiś obiektyw wpływa na wyświetlany obraz, dodatkowo można też opcjonalnie zastosować dystorsję – całą scenę (np. sprawny obiektyw typu rybie oko), całą projekcję za wirtualnym obiektywem (matrycą), dokładnie jak to działa, wierzchołki są konwertowane, dzięki czemu można przycinać i odstępy. zgodnie z pewnym stożkiem widzenia, który scharakteryzowaliśmy. Gdy nasze wierzchołki zostaną całkowicie zmienione, tego typu osoby są następnie wysyłane do etapu losowej rasteryzacji rur, gdzie osoba jest dostosowywana do prymitywów i ostatecznie przekształcana w obraz 2D.

    Korpus kamery: klasa kontenera

    kamera o swobodnym wyglądzie directx 10

    Rysunek 4 pokazuje kompleksową strukturę klas dla naszego aparatu, w kodzie narzędzia mamy dwie macierze: widok i projekcję, większość ludzi pracuje, my trzeba wykorzystać zwrotkę da letto, zmienić jej pogląd i tak dalej. .

    # postawić DWA_PI 6.283185307179586476925286766559#define DEG_TO_RAD 0,01745329251994329576923690768489fajny aparat/************************************************** **** ********** ( przestrzeń ) *** *** *** ***************** Członkowie************************************************** ***** ***** ******************************/Prywatny://Opcje wyświetlanialekcje pływania, boisko; // przez radiany//MacierzeD3DXMATRIX macierz widoku;macierz projekcyjna D3DXMATRIX;macierz rotacji D3DXMATRIX;// wektory wyświetlaniaconst D3DXVECTOR3 dV, dU; //Domyślne wskazanie i wektory podnoszeniaoko D3DXVECTOR3, widok z góry;//Wektory ruchu i przełączniki zakresuD3DXVECTOR3 do przodu, kara Prawo;int moveToggles[4]; // w kierunku, w tył, strfLft, strfRght// Zegar kamery dostępny jak do ruchuHRTIMER::timer camTimer;/************************************************** **** ********** *** *** *** ***************** Metody************************************************** ***** ***** ******************************/Publiczny://konstruktor a także ~camera();// Zdefiniuj destruktorKamera();Metody wirtualnego ekranu projekcyjnegovoid setPerspectiveProjection(pływające pole widzenia, wiszące proporcje, pływające zNear, wiszące zFar);//Metoda umieszczenia kameryvoid setPositionAndView(Float x, Drift m, Float z, Float hDeg, Dryft pDeg);void AdjustHeadingPitch( float hRad, ustaw pRad );void setMovementToggle(int i, int vs);// Zaktualizuj widok/pozycję krzywkiaktualizacja void();// pobierz metodyD3DXMATRIX& getViewMatrix() przynosi zyski viewMatrix;D3DXMATRIX& getProjectionMatrix() zwraca ProjectionMatrix;Prywatny:// utwórz podane wektory kary z kierunku/wysokościnieważna aktualizacjaView();;

    Pobierz narzędzie do naprawy komputera Reimage. Kliknij tutaj, aby rozpocząć pobieranie.

    Posted on