2011-06-22 15 views
6

Czy ktoś wie cokolwiek o korzystaniu z wejścia Kinect dla Unity3d z oficjalnym SDK? Zostałem przydzielony do projektu, aby spróbować zintegrować te dwa elementy, ale mój super nie chce, żebym używał otwartego materiału Kinect. Ostatnia wiadomość z witryny Unity była taka, że ​​program Kinect SDK wymaga wersji 4.0 .Net, a Unity3D tylko 3.5Oficjalny zestaw SDK Kinect i Unity3d

Obejścia? Skieruj mnie do zasobów, jeśli wiesz o tym, proszę.

Odpowiedz

7

Wiązania OpenNI dla Unity są prawdopodobnie najlepszym sposobem. Szkielet NITE jest bardziej stabilny niż zestaw SDK Microsoft Kinect, ale nadal wymaga kalibracji (PrimeSense wspomniał, że wkrótce otrzyma szkielet bez kalibracji).

Są Wiązania do OpenNI z Kinect SDK, które czynią pracę Kinect SDK jak SensorKinect, moduł ten naraża także The KinectSDK kalibracji wolne szkielet jako OpenNI modułu:

https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/

Ponieważ KinectSDK zapewnia również kostki i nadgarstki, a OpenNI już go wspierał (mimo że NITE go nie wspierał) wszystkie rzeczy z OpenNI, w tym zestawy znaków Unity, które zawierały kostki i nadgarstki, działają bez kalibracji. Wiązania KinectSDK dla OpenNI również wspierają używanie szkieletu Nite i narzędzi do śledzenia rąk, z jednym zastrzeżeniem, wygląda na to, że wykrywanie gestów NITE nie działa jeszcze z zestawem Kinect SDK. Obejściem podczas używania urządzenia KinectSDK z generatorem ręcznym NITE jest użycie śledzenia bez szkieletu, aby zapewnić punkt ręczny. Niestety, tracisz możliwość po prostu śledzić ręce, gdy twoje ciało nie jest widoczne dla czujnika.

Mimo to szkielet NITE wydaje się bardziej stabilny i bardziej responsywny niż KinectSDK.

+0

Amir! Dzięki. Pracowaliśmy z OpenNI-Nite i śledzę eksperymentalny moduł Tomoto Washio oraz listy mailingowe z Grup dyskusyjnych Google. Miło cię tu widzieć, nasi stażyści są wielkimi fanami twojej pracy, zakładając, że jesteś Amirem ze sławy owijki Unity. Jest to świetny przegląd wydarzeń od czasu wydania MS SDK. –

+0

obecnie http://zigfu.com/ używa zarówno openni, jak i primesense, choć jest płatny. – cregox

4

Ile potrzebujesz nieprzetworzonych danych Kinect? W przypadku ograniczonego problemu, takiego jak uzyskanie artykulacji kończyny, czy myślisz o użyciu agnostycznego schematu komunikacji, takiego jak TcpClient. Po prostu stwórz prosty serwer TCP w .net 4.0, który łączy się z zestawem SDK Kinect i wypompowuje pakiety z potrzebnymi informacjami co 30ms lub coś podobnego. Następnie po prostu napisz klienta odbierającego w Unity. Miałem podobny problem z innym SDK. Nie próbowałem jednak Kinect, więc może moja sugestia jest przesadzona.

Jeśli chcesz uzyskać dane głębi/koloru w czasie rzeczywistym, możesz potrzebować czegoś nieco szybciej, być może używając Pipes?

+0

Dzięki. To jest coś dobrego do zbadania. Wierzę, że w tym momencie przekonałem mojego szefa, aby pozwolił nam na rozwój z OpenNI, ale w tej chwili nie potrzebujemy wiele od Kinect, więc twoje myśli są doceniane. –

Powiązane problemy