TechnologieNie tylko do gier

    Nie tylko do gier

    Przyjęło się, że konsole do gier to zabawki. Tymczasem za pomocą kontrolera Microsoft Kinect, przeznaczonego do konsoli Xbox360, możliwe jest wykonywanie działań zupełnie poważnych. Pasjonatom komputerowych animacji urządzenie to pozwala zaoszczędzić duże kwoty i realizować interesujące projekty naukowe.

    Nie tylko do gier

    Komputerowi zapaleńcy od momentu pojawienia się Kinecta na rynku dostrzegli jego olbrzymi potencjał. Urządzenie to może być np. wykorzystywane jako domowy system motion capture (ang. przechwytywanie ruchu). Odpowiednie programy oraz sterowniki można już znaleźć w internecie. A nie jest to jedyne nieszablonowe zastosowanie tego kontrolera.

    Kwestię nietypowego użycia Kinecta ułatwił sam Microsoft, publikując SDK (Software Development Kit). Pakiet SDK Kinect for Windows, udostępniony w połowie czerwca 2011, powstał właśnie z myślą o środowiskach naukowych, akademickich, a także pasjonatach technologii.

    Bezpłatne oprogramowanie

    Dobra wiadomość jest taka, że SDK Kinect for Windows jest oferowany bezpłatnie. Można go zainstalować w systemie Windows 7 (dostępne są wersje 32- i 64-bitowe). Szczegóły dotyczące wymagań oraz sam pakiet jest dostępny na witrynie http://research.microsoft.com/kinectsdk.

    W skład pakietu SDK Kinect for Windows wchodzą sterowniki, interfejsy API udostępniające strumienie nieprzetworzonych danych z sensorów kontrolera, przykłady kodu, interfejsy użytkownika oraz szczegółowa dokumentacja. Pakiet jest przeznaczony dla deweloperów tworzących aplikacje w językach C++, C# lub Visual Basic. Oczywiście preferowanym środowiskiem programistycznym jest Visual Studio 2010 (dostępna jest bezpłatna wersja Visual Studio 2010 Express www.microsoft.com/visualstudio/en-us/products/2010-editions/express). Warto dodać, że udostępniony pakiet pozwala rejestrować dane nie tylko pochodzące z kamer i czujników ruchu Kinecta. Możliwe jest również przetwarzanie dźwięku z tłumieniem szumów i eliminacją echa, identyfikacja źródła dźwięku czy rozpoznawanie mowy.

    Motion Capture

    Czy zastanawiałeś się, jak jest uzyskiwana realistyczna animacja ruchów postaci we współczesnych grach 3D i filmach wykorzystujących komputerową animację? Otrzymywanie tak doskonałych efektów przy użyciu bardzo dobrej grupy animatorów jest bardzo czasochłonne. W efekcie stworzenie filmu animowanego zajmowałoby bardzo dużo czasu, co przełożyłoby się na ogromne koszty, a efekt końcowy i tak nie zawsze byłby zadowalający. Opracowano więc systemy przechwytywania ruchów ludzi i zwierząt w przestrzeni 3D, które określa się jako systemy Motion capture (potocznie Mocap). Otrzymywane informacje przenoszone są do komputera i konwertowane na dane rozpoznawane przez programy do animacji 3D. Oczywiście taki zestaw jest niezwykle kosztowny. W jego skład wchodzą co najmniej 4 profesjonalne kamery (w bardziej rozbudowanych systemach jest ich więcej) z odpowiednimi statywami oraz specjalnie zaprojektowany strój. Nie można też zapominać o drogim oprogramowaniu, które potrafi analizować w czasie rzeczywistym otrzymywane filmy, a następnie konwertować je do cyfrowej postaci rozpoznawalnej przez oprogramowanie do animacji 3D. Na koniec niezbędne jest wynajęcie hali, w której będzie rejestrowana sesja.

    Dla lepszego zobrazowania kosztów skorzystania z systemu Mocap należy podać, że jednodniowa sesja to wydatek rzędu 4000 zł. Przy czym trzy godziny zajmują przygotowania sprzętu oraz aktora, pozostałe pięć godzin pozostaje na animację.

    Domowe Hollywood

    Obraz

    Indywidualni graficy lub małe, niezależne studia graficzne pracujące nad nowymi grami lub animacjami 3D z chęcią skorzystają z możliwości kontrolera Kinect. Jednak sam kontroler nie wystarczy do wykorzystania go jako systemu Mocap. Przede wszystkim potrzebny jest dodatkowy zasilacz, dołączany do indywidualnie kupowanych kontrolerów Kinect (nie ma go w pakiecie z konsolą i Kinectem). Taki zasilacz można kupić też na Allegro, a jego koszt to około 50 zł. Zasilacz ten poza zasilaniem kontrolera, jest także specjalną przejściówką zakończoną z jednej strony wejściem przeznaczonym do podłączania Kinecta, z drugiej strony standardowym złączem USB.

    Obraz

    Drugim niezwykle istotnym elementem są sterowniki oraz oprogramowanie nadzorujące pracę Kinecta. Tutaj do wyboru mamy dwa gotowe pakiety – Brekel Kinect i iPi Desktop Motion Capture. Pierwszy jest pakietem dostępnym za darmo, za drugi natomiast należy zapłacić. Na szczęście jego cena jest do zaakceptowania nawet przez indywidualnych grafików (około 1600 zł w wersji podstawowej).

    Za pomocą tych programów możliwe jest rejestrowanie ruchów poruszającej się postaci. Uzyskaną animację można wyeksportować do jednego z popularnych programów do grafiki 3D (MotionBuilder, 3DS Max, czy nawet Blender). Pojawia się też coraz więcej zapowiedzi odpowiednich pluginów, dzięki którym będzie można wykorzystać kontroler Kinect także w innych aplikacjach.

    Obraz

    Otrzymane efekty

    Animacje 3D otrzymane przy użyciu Kinecta z pewnością nie są idealne i wymagają doszlifowania. Z drugiej strony ich jakość i tak jest zadziwiająco dobra. Otrzymywane sekwencje nie są może szczegółowe (nie są śledzone np. ruchy palców dłoni), ale w zupełności wystarczą do zadowalającego odwzorowania zachowania się wirtualnej postaci. Ponadto takich animacji z pewnością nie jest w stanie uzyskać żaden początkujący animator. Przy wykorzystaniu Kinecta można zarejestrować sekwencje ruchów na naprawdę dobrym, komercyjnym poziomie.

    Z tego właśnie względu wykorzystanie Kinecta w sposób nieprzewidziany przez producenta może zaowocować ciekawymi, autorskimi filmami i projektami 3D, które jakością tylko nieznacznie będą ustępowały produkcjom wytwarzanym przez wielkie studia.

    Kinect jako skaner 3D

    Obraz

    Niezależne grupy ludzi pracują nad jeszcze jedną możliwością wykorzystania sensora Kinect. Trwają prace nad przysposobieniem tego kontrolera do pracy w charakterze skanera 3D. Dzięki temu w łatwy sposób można będzie przenosić kształty realnych przedmiotów do pamięci komputera. Następnie w programach do grafiki 3D uzyskane siatki można poddawać dalszej obróbce. Obecnie skany uzyskiwane za pomocą Kinecta nie zachwycają jakością. Wynika to ze stosunkowo niskiej rozdzielczości próbkowania. O ile kształt zeskanowanej bryły jest dość zbliżony do oryginału, o tyle już pod względem detali różnice są kolosalne. Przeszkodę stanowi także dość duża odległość robocza od samego kontrolera. W takim wypadku małe bryły nie są już w ogóle rozpoznawalne. Jednak nawet tak mało dokładne obiekty mogą być wielką pomocą dla grafików. Uzyskanie obiektu graficznego zgodnego anatomicznie z postacią ludzką jest niezwykle trudne. W dodatku ważne jest również zachowanie prawidłowej topologii takiej bryły. To właśnie w tym zadaniu może przyjść z pomocą Kinect, dzięki któremu łatwo można uzyskać siatkę reprezentującą ludzką postać. Oczywiście ta musi być poddana dalszej obróbce, by obiekt końcowy dość wiernie odwzorowywał zeskanowaną osobę.

    Przydatne linki

    http://research.microsoft.com/kinectsdk – bezpłatny pakiet SDK Kinect for Windows
    www.ipisoft.com – komercyjne oprogramowanie do obsługi sensora Kinect
    www.brekel.com – darmowe oprogramowanie do przechwytywania animacji z kontrolera
    www.openni.org – strona stowarzyszenia, które opracowało i udostępniło sterowniki niezbędne do obsługi kontrolera Kinect bzpośrednio z komputera PC

    Wybrane dla Ciebie