现在的位置: 首页 > 综合 > 正文

Miku Miku Dance DxOpenNI for OpenNI 2

2018年02月10日 ⁄ 综合 ⁄ 共 2164字 ⁄ 字号 评论关闭

http://kheresy.wordpress.com/2013/03/07/dxopenni-for-openni-2/

Miku Miku Dance(簡稱 MMD,英文官方網站維基百科介紹)這套軟體,算是相當早就透過 OpenNI 來支援
Kinect 這類的感應器的一套軟體,Heresy 在當初寫 OpenNI 1,x 的安裝教學的時候,就有以他為例子了~有興趣的話,可以回過頭去看《在 WIndows 上安裝 Kinect(含 MMD
使用 Kinect 簡易教學)
》這篇文章。

基本上,MMD 也算是一個很簡單、可以用來展示 Kinect 這類感應器的動作捕捉功能的程式了~不過滿可惜的是,作者應該是已經停止更新了。也因此,雖然 OpenNI
2
 已經推出一段時間了(雖然還是 Beta 版),作者卻還是沒有針對 OpenNI 2 來改版,所以 MMD 到現在還是只支援 OpenNI 1.x,並不支援 OpenNI 2。而雖然現在也有 MikuMikuMoving(官網)、算是
MMD 的後繼者,不過他也還是只支援 Kinect for Windows SDK 和 OpenNI 1.x(沒弄錯的話,應該是這樣)。

而雖然 Heresy 自己是沒有在用 MMD 這樣的程式,但是對 Heresy 來說,還是算少了一個滿好的展示程式。

後來考慮了一下,由於 MMD 作者是把對於 Kinect 的支援,使採用獨立模組(DxOpenNI.dll)的方法,而且也有提供原始碼,所以 Heresy 就決定,自己試著根據他的程式,把使用的 API 從 OpenNI 1.x 改成 OpenNI 2.x。(Miku Miku Moving 對於這方面的支援是寫死在程式裡的,沒辦法改。)

基本上,Heresy 是基於官方網站的 DxOpenNI 1.30 做修改的,初步移植的時間大概是一個晚上(不包含測試),後來又有針對內部的架構、程式做一些修改,目前做出來的,就是現在這個版本了。

檔案目前放在:

http://sdrv.ms/Zp3vhg

裡面有兩個檔案,一個是編譯好的 DxOpenNI.dll,另一個則是原始碼 DxOpenNI2.cpp。

而由於 Heresy 是使用 VisualStudio 2012 來建置這個檔案的,所以可能也會需要安裝 Visual C++ 2012 的可轉發套件;這個可以到微軟官方網站下載,其連結是:http://www.microsoft.com/zh-tw/download/details.aspx?id=30679,請下載安裝
vcredist_x86.exe 這個檔案。

要使用的話,首先須建立好 OpenNI 2 的使用環境,其步驟如下::

  1. 如果是使用 Kinect 感應器的話,請先安裝 Kinect for Windows SDK(官網)。 
    如果是使用 ASUS Xtion 這類感應器,則不需要安裝。

  2. 安裝 OpenNI 2(下載頁面)和 NiTE 2(下載頁面),並確認官方範例程式可以正確運作。 
    請注意,由於 MMD 為 32 位元程式,所以請下載、安裝 32 位元的版本。

而要在 MMD 裡面使用的話,其步驟為:

  1. 把 DxOpenNI.dll 這個檔案,放到 MMD 的 Data 目錄內。

  2. 把 OpenNI 2 的 Redist 目錄下的檔案, 複製到 MMD 主程式(MikuMikuDance.exe)所在資料夾。 
    32 位元 Windows 的話,OpenNI 的檔案是在 C:\Program Files\OpenNI2\Redist, 
    64 位元 Windows 則是要複製 C:\Program Files (x86)\OpenNI2\Redist 下的檔案。

  3. 把 NiTE 2 的 Redist 下的檔案,也複製到 MMD 主程式所在資料夾。 
    32 位元電腦是要複製 C:\Program Files\PrimeSense\NiTE2\Redist 下的檔案, 
    64 位元電腦則是要複製  C:\Program Files (x86)\PrimeSense\NiTE2\Redist 下的檔案。

最後,在 MMD 程式的目錄下的檔案,應該會像右圖這樣子;而如此一來,MMD 應該就可以透過 OpenNI 2,來使用 Kinect、或是 Xtion 進行動作捕捉的動作了~

Heresy 自己在 Windows 7 x64 的電腦上,使用官網最後的「MikuMikuDanceE_v739dot」這個版本,是可以正常運作的。不過,似乎某些模型,會有腳尖位置的問題,這點 Heresy 就不知道是什麼回事了。

最後,基本上 Heresy 自己算是以接近練習的心態來改的,所以並沒有改得非常認真,也不打算詳細地說明裡面的程式,有興趣的人可以自己參考原始碼;雖然也可以比對原始的 DxOpenNI(官方的 zip 下載後,也有原始碼),不過由於某些地方 Heresy 有把架構改掉了,所以會有一定程度的差異就是了。

整體來說,其實 OpenNI2 和 NiTE2 的程式開發,算是比 OpenNI 1.x 的架構簡化了不少,要寫他的程式,其實相對簡單許多;不過很可惜的,就是現階段還是在功能欠缺的 Beta 階段,而許多現成的程式,也都還是使用 OpenNI 1.x…像是 OpenNI 最早的鍵盤模擬器 FAAST(介紹),現在似乎也沒繼續更新了?(話說,有人知道
OpenNI 2 有類似功能的程式嗎?)

所以…接下來,還是等 OpenNI 2 的正式版吧,以及更多好用的工具吧。


OpenNI / Kinect 相關文章目錄

抱歉!评论已关闭.