1. 概要

English page is here
■はじめに

MikuMikuCapture(以降、本ツール)はキャプチャ機器の入力を利用して、3Dモデル用のモーションデータを作成するツールです。3Dモデルの振り付け用ツール、MikuMikuDance(樋口様作成)の入力補助を目的としています。MikuMikuDanceのモデル・アクセサリ描画機能、モーション再生機能、キャプチャ機能、およびMikuMikuEffect(舞力介入P様作成)のエフェクト描画機能と類似する機能を有します。
 
 
■動作環境

 OS Windows XP/Vista/7 
 ビデオカード シェーダ 2.0 以上に対応 

【注意事項
・Windows XP/Windows 7 64ビット(日本語版)、Windows 7 32ビット(英語版)で動作確認済みです。
・セルフ影の機能を利用するには、ビデオカードが32bit浮動小数点数テクスチャに対応している必要があります。
・エフェクト描画機能を利用するには、ビデオカードがシェーダ3.0以上に対応している必要があります。

 
■主な機能

1) ファイル

本ツールは以下のファイル形式に対応しています。

 モデル .pmd、.pmx (一部未対応の機能あり)
 モーション .vmd (モデル・カメラ・照明モーションのみ) 
.bvh (キャプチャデータの保存のみ)
 アクセサリ .x 
 エフェクト .fx 
 音声 .wav 
 画像 .bmp .jpg .png .tga .dds .dib .pfm .hdr
 ビデオ .avi (.asf .wmvにも対応していますが再生速度の変更は不可)
 ポーズ .vpd 

また、以下の独自形式に対応しています。

 構成ファイル .mmc (モデル・アクセサリ・モーションなどの構成を記録したファイル) 
 アクション .act (Wiiリモコンのボタン設定を記録したファイル) 
 キャプチャモデル .cmx (任意ボーンの操作設定を記録したファイル) 
 エフェクト .mmcfx (.fxファイルをコンパイルしたもの)

【注意事項】
・本ツールはMikuMikuDanceのフォルダ構成を踏襲しています。本ツールの実行ファイルをMikuMikuDanceと同一フォルダに配置すると、モデルやアクセサリなどのファイルを開くときの初期フォルダが、MikuMikuDanceと同じになります。
・MMCFile、Action、CaptureModel、Settingsフォルダが存在しない場合、対応するファイルを開くときに、本ツールが自動的にフォルダを作成します。


2) モデル・アクセサリ描画

.pmd .pmx形式のモデル、.x形式のアクセサリを描画することができます。複数のモデル・アクセサリの描画にも対応しています。移動や回転、モデルにアクセサリを関連付けることも可能です。

【注意事項】
・.pmx形式のモデルについて、以下の機能に対応していません。

追加UV  1~4全て 
ボーン  表示先、軸制限、ローカル軸、外部親 
材質  サブTex
モーフ  追加UV

・SDEFによるブレンディングの結果がMikuMikuDanceと異なります。さらに、また、関連ボーンとR0とR1の位置によってはBDEFとして処理します。


3) モーション再生

モデルやカメラ、照明に .vmd形式のモーションを割り当てて、動作させることができます。モデルには複数のモーションを割り当てることができます。物理演算にも対応しています。

【注意事項】
・モーションの開始フレーム番号が0でない場合、0~開始フレームまでは開始フレームと同じモーションが出力されます。(0フレーム目の初期ポーズがない)
・モデルに複数モーションを割り当てた場合、実行順が後のものが優先されます。 (ボーンや表情/モーフに重複がなければ問題なく動作します)
・「IKターゲットの回転を維持」をOFFにすると、IKの動作がMikuMikuDanceに近くなります。モーション再生時に足首などが大きく曲がる場合は、ONにすることである程度抑えることができます。
・PMXの特定のボーンの変形順序がMikuMikuDanceと異なります。


4) エフェクト描画

モデルまたはアクセサリに関連付けられたMikuMikuEffectのエフェクトファイル(.fx形式)を描画することができます。エフェクトファイルをコンパイルして、ファイルの読み出しを高速化することができます。

【注意事項】
MikuMikuEffectの以下の機能には対応していません。

テクスチャ  ANIMATEDTEXTURE
エフェクト割付 デフォルト設定、サブセット割付

エフェクトのコンパイル有無は「設定-ファイル設定」から指定できます。有効にすると、エフェクトファイルのを最初に読み出すときにコンパイルが行われ、「(ファイル名).mmcfx」というファイルが出力されます。コンパイルの実行にはエフェクトファイルの読み出し以上の時間がかかります。
・.fxファイルを読み出すときに、対応する.mmcfxファイルがあれば自動的にそちらを読み出します。
・モデルの輪郭はコンパイルを有効にしないと描画されません。また、エフェクトのコンパイルに失敗した場合も描画されません。輪郭を有効にする機能はまだ完全ではないので、コンパイルが成功しても輪郭が有効にならない恐れが大いにあります。
・パスのVertexShaderやPixelShaderを省略したときの描画結果がMikuMikuDanceと異なります。
・地上影、座標軸、エフェクトの描画順序がMikuMikuDanceと異なります。
・エフェクトファイルのチェック内容がMikuMikuDanceと異なるため、ファイルの読み出し時に「ファイル'(ファイル名)'の記述に誤りがあります。'error'の項目について、ファイルを修正してください。」というエラー画面が表示されることがあります。


5) キャプチャ

キャプチャ機器からの入力を利用して、モーションデータを作成することができます。キャプチャデータは各種パラメータの変更により補正することができます。また、.vmd形式や.bvh形式でファイルに保存することができます。
現在対応しているキャプチャ機器は以下の通りです。

 Microsoft Xbox 360 Kinectセンサー 体や手足の動きを取得することが可能です
 Microsoft Kinect for Windowsセンサー 商用利用可能なWindows PC用のKinectセンサーです
任天堂 Wiiリモコンプラス
(Wiiモーションプラス内蔵)
 
手首の回転、表情/モーフ変形、ポーズ変形、モデルの移動、カメラの操作が可能です 

【注意事項】
・Kinectの利用には、MikuMikuDanceのプラグイン、DxOpenNIライブラリが必要になります。
・首・上半身・下半身・手首・足首の動きを取得できるMoggDxOpenNI(Mogg様作成)への対応状況は以下のとおりです。

 対応済 首、手首、腰 
 未対応 足首(将来対応予定) 
 非対応 肩、正面向き(本ツールに類似機能あり) 

・.bvh形式で保存できるのは、Kinectで取得したモデルのキャプチャデータのみです。
・.bvh形式で出力される骨格情報は、以下のとおりです。

 ルートノードセンター(Center)
 関節ノード上半身(UpperBody)、下半身(LowerBody)
首(Neck)、頭(Head)
肩(Shoulder)、腕(Arm)、ひじ(Elbow)、手首(Wrist)
足(Leg)、ひざ(Knee)、足首(Ankle)

「MMCResource\Plugins」フォルダにある「DxMsNui4Win.dll」はKinect for Windowsのためのライブラリで、Kinect for Windows SDKを用いて開発されています。Xbox 360 Kinectに対するKinect for Windows SDKの利用は、個人的な開発目的で認められています。
・DxMsNui4Win.dllはMikuMikuDanceではご利用になれません。
・Kinectが関節情報を正しく取得できなかった(ボーンロストがあった)場合、「キャプチャデータ補間」機能を用いて、ロスト部分を補間することができます。ただし、DxOpenNI側でボーンロストの補間を行っている場合には本機能は利用できません。(MoggDxOpenNIについては「ボーンロスト時動作」を「デフォルト動作」にすれば、利用できます。Kinect SDK系のDxOpenNIについては、Kinect SDK側で補間しているので利用できません)
・本ツールはKinect認識時の関節情報を基準にモーションを作成しています。正面を向いていない状態で認識させると、仕組み上、体や頭の傾きが不自然になるため、正面を向かないと認識が完了しないようにしています。時間は「キャプチャ設定-Kinect正面向き静止秒数」で変更可能です。
・正面向きの判定には、両足先の位置、両肩の位置、首の傾きの情報を利用しており、それぞれ真正面を向いたときの角度から30度以内に収まっていればOKとしています。Kinectのセンサーの検知範囲に全身が収まるようにしてください。足先は肩幅程度に開いた方が認識されやすいです。
・「Kinect再調整」はKinectとの接続を保ったまま、体や頭の傾きを調整する(認識時の基準関節情報を取り直す)機能です。まれに正面を向いても認識が完了しないことがありますが、Kinect(OpenNI)が誤った関節情報をあげていることが考えられます。「Kinect再調整」ではKinect(OpenNI)側の誤りを訂正できないので、一度Kinectとの接続を切断してから、再度お試しください。
・カメラキャプチャはパースペクティブをOFFにすると撮影対象が正しく表示されなくなります。
・Wiiリモコンの利用にはBluetooth機器と接続できるコンピュータ、またはBluetoothアダプタが必要になります。
・手首の回転には、リモコンが水平に近ければWiiリモコン内の加速度センサーを使用し、垂直に近ければWiiモーションプラスのジャイロセンサーを使用しています。(85%の範囲は加速度センサーでカバーしています)
・加速度センサーは振りに弱く、ジャイロセンサーは位置ズレを起こします。リモコンを水平に保ちつつ、ゆっくりリモコンを捻らないと、すぐに手首の回転位置がおかしくなります。
・キャプチャデータの生データをファイルに保存する機能は現状ありません。
・キャプチャデータは再生時にも各種パラメータに操作することによりある程度補正できますが、Wiiリモコンによる移動に関しては、本ツールの仕組み上、全く補正することができません。
・キャプチャ時間は最大10分です。


6) ビデオ入力

ビデオキャプチャ機器の映像センサーから入力された画像を表示することができます。
現在対応しているビデオキャプチャ機器は以下の通りです。

 Microsoft Xbox 360 Kinectセンサー
 Microsoft Kinect for Windowsセンサー
 USBカメラ

【注意事項】
・ビデオ入力の利用には「MMCResource\Plugins」フォルダ内のファイルが必要になります。ご使用の環境に応じて、「キャプチャ設定-その他-ビデオ入力ライブラリ」に以下のファイルを設定ください。

 Kinect + OpenNI  DxOpenNICamera.dll (640x480 30fps)
 DxOpenNICamera1280x1024.dll (1280x1024 15fps)
 Kinect + Kinect SDK  DxMsNui4Win.dll (640x480 30fps)
 USBカメラ  GeneralCamera.dll

DxMsNui4Win.dllにはビデオ入力の機能以外にDxOpenNIと同等の機能が含まれています。ご使用の際には「キャプチャ設定-その他-Kinect DxOpenNIライブラリ」にも同じファイル(DxMsNui4Win.dll)を指定してください。他のファイルを指定してKinectによるモーションキャプチャ機能を利用した場合、「正しく動作しない」、「本ツールが強制終了する」等の現象が発生します。
・ビデオ入力の入力設定はUSBカメラのために用意した機能です。Kinectセンサーではご利用になれません。
・DxOpenNICamera.dllは「OpenNI 1.1.0.41 for Windows」を用いて作成しました。以前のバージョンをご使用の場合、動作しない可能性があります。
  
 
7) ビデオ出力

本ツールの映像をUSBカメラのように出力することができます。
USBカメラに対応しているツールやサイトへのライブ配信が可能です。

【注意事項】
・ビデオ出力の利用には、本ツールのビデオキャプチャフィルタをWindowsに登録する必要があります。本ツールの「設定 - ビデオ出力設定」から登録してください。1度登録すれば以後利用しつづけることができます。
・ビデオキャプチャフィルタを登録するには、本ツールを管理者権限で起動する必要があります。起動方法は以下の通りです。

 Windows 7  本ツールのアイコンを右クリックして「管理者として実行」を選択して起動
 Windows XP  管理者権限をもつユーザでログインし、本ツールを起動

・ウィスル対策ソフトをインストールしている場合、登録時に何らかの警告表示がでる可能性がありますが、問題はありませんので処理を続けてください。
・配信画像は640x480固定です。
・音声(Waveデータ)の配信には対応していません。
・キャプチャ表示などの文字情報は出力されません。