2013年1月6日日曜日

KinectとMMDでSecondLife用Animationを作成する

新年おめでとうございます

セカンドライフ 技術系 Advent Calendar用穴埋めエントリーです。

この記事の目的

Xboxアクセサリのモーションキャプチャ「Kinect」とダンスアニメーション制作フリーソフトウェア「MikuMikuDance」+プラグインで、SecondLife内のアバターがダンスやジェスチャーに使えるアニメーションを作れるのですが、導入で挫折する方が意外と周りに多く感じたので、あまりSecondLifeユーザがドキュメント化していないKinect導入部について多く説明します。すでに導入されている方向けにも参考になるかはわかりませんがTIPSを公開しますので目次からどうぞ。

また、一人ブレスト的にユーザのヒントにつながりそうなことは書きなぐってるので、必要な箇所を抜き出してご覧ください。

▲目次へ戻る

何が出来るのか

Kinectなんか見たことも聞いたことも無いという方はまず、Xbox公式サイトのムービーをご覧ください。このKinectというセンサーをモーションキャプチャとして利用し、SecondLifeのアニメーションとしてアップロードしよう、という話です。

▲目次へ戻る

必要機材(いずれも必須)と動作環境

  • PC Windows推奨 XP、Vista、7でテスト済み
    この記事はWindowsユーザを対象としています。MMDがWindowsでしか開発されてないからです。WindowsのVMでMMD自体は動くらしいのですが、構築とか説明してられないので。
  • Kinect(キネクト)本体
    購入する必要があります。Xbox本体は特に必要ありません。(画像はWikipediaより、Kinect公式サイトはこちら)定価14,800円(税込)。中古で10,000円前後。中古購入の場合は下記附属品が揃っているものを購入ください。

  • Kinect用USB電源ケーブル
    購入する必要があります。Kinect単体で購入すると付属していますが、Xbox本体とセットで購入すると同梱されていないようです。その場合、日本語圏ではUSB電源ケーブル単体で販売されていない為(英語圏ではMicrosoft Store、Amazon等で入手可能)、サポートから問い合わせて購入する必要があります。Xbox360カスタマーサポート(祝日を除く月~土曜/10~18時)0120-220-340(携帯電話等からは03-5767-4551)、Xbox本体とKinectのシリアルナンバーを控えてから電話してください。消費税、送料、手数料込み3,830円。
  • 設置するのに向いた部屋

    色太枠はケーブルの長さを示しているだけで、必ず開けなければならない訳ではありません。他、固定するフロアスタンドやマウントホルダーもあれば便利ですが、部屋がフラットなら床置きや机の上(床上60㎝~180㎝)に置いても認識は充分します。(ちなみにXboxに繋いでなんらかのゲームかソフトウェアを実行すると自動で±27度のチルト(傾斜)モータによる角度調整をしてくれますが、単体でPCに繋ぐだけでは首振りしません。土台下に何か敷けば良いだけですが、気になるのであればXboxで先に調整しておくか、Kinect SDK等で動かしましょう。)試した感じでは、Kinect→人体が2~3m弱の間隔があればそれほどストレスは無いと思います。3.5mより離れると逆に認識しにくくなります。横幅も何もない空間を1m弱、背面も1m弱は確保したいところです。

▲目次へ戻る

SecondLifeで扱うアニメーション作成の基礎知識

制作に入る前に思わぬところで転ばぬよう、ざっと基礎的な部分を確認しておきましょう。公式Wikiより、適当翻訳w プラス補足・蛇足してるので原文通りではありません。原文に近い部分以外は少し文字色を変えておきます。
SecondLife1~2年いるユーザには特に必要ないと思うので読み飛ばしてください。それ以外の方もざっとで。

  1. BVH・ANIMファイルでアップロード

    BVHはタイムラインに沿って各パーツの回転と位置を記述したテキストデータです。また、公式Wikiには英語でも記述があまりありませんが、現在は内部データフォーマットであるANIMファイルもアップロード出来ます。今回はBVHのみ扱うのでわからなくてもあまり気にしないでください。
    一応ANIMについても一言添えますが、ANIMはバイナリなのでファイルデータが少なくて済み、イーズインイーズアウト、ループ、表情、手のポーズ等のアップロードウィンドウ(後述)で入力出来るパラメータ以上にボーン毎の優先度、アニメーションの装着ボーン指定等も出来、それらをローカル環境で保存出来る利点があります。参考:Avastar Export ModesのAnim Export参照。また、対比サンプルファイルがJIRA[VWR-28143]=[STORM-1803]にあります。
    仕様差について細かくこの記事では扱いませんので、以降は全てBVHについてだと思ってください。
  2. Hip(腰)が階層の最上位
    Hipがパーツの階層構造上の最上位です。全身を移動したい場合、Hipを移動させる必要があります。ただ、SecondLife用のアニメーション制作ツール等を用いない限り、名前(Hip・腰)と実際のツール上の名前が違う場合も大いにありますし、コンバートするならHipに成るものが複数ある、ということもあります。奥の深い話になるので、ここでは取り上げませんが、アニメーション制作を手掛けていきたいと思うなら割と早い段階で当たる壁ですのでなんとなく覚えておくと良いでしょう。参考:BVH Hip Location Limits(公式Wiki)Creating a sitting pose(公式Wiki)
  3. キーフレーム
    SecondLifeのアバターアニメーションは「キーフレームアニメーション」によって作成されます。これは、パーツの位置と回転角度をキーフレームと呼ばれるもので設定した、フレーム構築型アニメーション技術です。コンピュータによってキーフレームからキーフレームへの中間フレームを自動計算して作成し、モーションを作成するのです。キーフレームは全てのパーツに適用されています。要するに、アバターの首を右に10度傾けた状態をキーフレームとして設定し、左に10度傾けた状態の次のキーフレームを3秒後に設定した場合、その右設定から左設定までの3秒間分の中間フレームのアニメーションはコンピュータによって自動生成されますよということです。
  4. 最初のフレーム
    静止した一体のポーズを一つのフレームに作る事が出来ますが、アバターの位置そのものを移動させる事は出来ませんし、複数の優先度を割り当てることが出来ない点を留意してください。これは作り手がイメージ・制作した全体の姿勢そのものをアバターにさせるのに都合がいいのです。作成したアニメーションの最初のフレームは、BVHとSLの間で参考情報としてルートであるHipのみが使用されます。最初のフレームの姿勢は全くインワールドでは表示されませんが、キーフレームとして認識されています。最初のフレームとその後のフレームに回転角度や位置の差が認められた場合のみ、インワールドにアニメーションが生ずるのです。したがって、静止している姿勢は実際には二つの別々のフレームに構成されています。移動パーツを見失わないようにする事が容易になる為、最初のフレームには回転および位置をゼロに設定(Tの姿勢)をする事をおすすめします。
    まとめ:アニメーションの最初のフレームは参照フレームであり、インワールドに表示されません。しかし、最初のフレームからのずれはアバターアニメーションとして解釈されます。
    ただし、今回はMMDBVHToSLBVHを使用する為、その仕様で0データの0キーフレームを先頭に挿入してくれるので意識的に操作する必要がありません。
  5. スプライン補間
    お使いのアニメーション作成ツールにスプライン補間機能が付いている場合は、それを制御出来るようになるまで、イライラするかも知れません。その場合、スプライン削除の選択を余儀なくされます。参考:アニメーション講習(7)☆補足☆スプライン削除(おいでよ♪Trenza Cafe "ORION")
  6. インバースキネマティクス(IK)
    お使いのアニメーション作成ツールにインバースキネマティクス機能があり、なおかつそれがONになっている場合、OFFに出来る事を知るまで苛立たしく思うかも知れません。ON/OFF出来る事を知りましょう。後で出てくるので名称だけなんとなく覚えておいてください。
  7. アニメーションの速度
    アニメーションのデフォルト速度は30FPSです。それは1秒間は30フレームで成されることを意味しています。10秒のアニメーションを作るとすれば、300フレーム作成する必要があります。ただし、各ツールでFPS値を変更することが出来るかも知れません。そして、SLでアップロード出来るアニメーションは最長30秒なので注意してください。
  8. 優先度
    8-1:自身のアバターはデフォルトの内蔵アニメーションを常にインワールドで利用出来ます。それらは、ユーザーによって全身に同一の優先度を持ってアップロードされたアニメーションとは異なり、各キーフレームのパーツに異なる優先度を持っているかも知れません。高い優先度を作成したアニメーションに与えない限り、インワールドのアニメーションによって上書きされるでしょう。優先度は4が最も高い順位で、0~4の範囲で指定します。アニメーションがそれぞれどの優先度を持っているか確かめる為には、デフォルト組み込みアニメーションページをご覧ください。
    参考:アニメーションの優先順位など(スクリプターズカフェ)。出来ればなんでもかんでも4にせず、作るもの、使う人を見極めた設定をしましょう。
    8-2:アップロードされたアニメーションの優先度はアップロードウィンドウで設定し、単純にアバター全身に付与されます。ただし、もしもアニメーション中のアバター個々のパーツをアニメーションとして作成していなければ、その内いくつかのパーツはデフォルトのアニメーション(呼吸、歩行等)によって無視されるかも知れません。
    8-3:優先度が同じである場合、後に再生されたアニメーションが前のものに対する優先権を与えられます。
  9. 最適化
    SLのBVHインポーターはSLにアップロードする前に、アニメーションデータの最適化を行います。キーフレームからキーフレームの間の非常にわずかな回転と位置の変化は「変化では無い」と解釈されますので保存されません。これは、(デフォルトでない)カスタムアニメーションデータは当社のサーバに格納され次第すぐに各クライアントにダウンロードされるので、かなり簡潔なものである必要がある為、意図的に行われているものです。
    最適化の潜在的な副作用はアニメーション作成者の観察と実際の相違によるものです。すなわち、非常に微妙な関節の動きはアニメーションアップロードの際、完全に抜け落ちている可能性があります。その処理の分かれ目に関する式は複雑で、1関節あたりの3軸(X,Y,Z)、キーフレーム間で移動された距離ばかりでなく、関節の骨格階層比較、その全てを含んでいます。
  10. アバターパーツの大きさ
    アニメーション作成ツール上のフィギュアとインワールドのアバターとではパーツの大きさに違いがあります。ツール上のパーツ位置を調整しても、インワールドでは誤って表示される場合があります。座ったはずが宙に浮いてしまったり、地面の下に一部や全部が沈んでしまったりする事があるのです。Hipは絶対値で移動することに対し、自分のアバターの高さはアバターのボディシェイプに依存します。どのようにすればそれらが適した位置となるか留意しつつツールに戻り、ツール上のフィギュアのシェイプは無視して再度微調整する必要があります。参考:Create Animations with Poser(公式Wiki)Poserで使える公式SecondLifeフィギュアがリンク先からダウンロード出来ます。
  11. 表情と手のポーズ
    残念ながらこれらのアニメーションはカスタマイズ出来ません。アップロードウィンドウで内蔵のものを選択し、アニメーションに加えることが出来るに過ぎません。付け加えて言えば、スクリプトによって組み込みの表情に変更することは出来ます。
  12. アップロードウィンドウ

    詳細はこちらを参照してください。

▲目次へ戻る

キャプチャするまでの手順

【ステップ1】Kinectの設置・接続

置き場所については「設置するのに向いた部屋」を参照してください。KinectとUSB/電源ケーブルを用いてPCのUSB口にUSBを挿すだけです。この時点ではドライバ等接続状態は気にしなくていいです。トラブルのもとなので、ステップ1を飛ばしてステップ2には行かないでください。

▲目次へ戻る

【ステップ2】OpenNI、Kinectドライバ等のインストール

先に起動の挫折をしない為に最も重要なことを話しますが、Kinect/MMDキャプチャを動かすにあたっては、Kinectだけが動けばいいというものでもないので、かなりバージョンの組み合わせが繊細です。また、MMDまで含めたインストール手順も重要です。注意してください。

一番Windowsユーザにとって安定的と思えるものを以下に示していきますので、記事とは異なるバージョンを使う場合はよく調べてください。

  1. OpenNI for Win32 ver 1.5.2.23(openni-win32-1.5.2.23-dev.msiもしくはopenni-win32-1.5.2.23-redist.msi)とNITE(nite-win32-1.5.2.21-dev.msiもしくはnite-win32-1.5.2.21-redist.msi)のダウンロード
    実はこの記事を書く上でスクリーンショット撮った日をがっつり跨いでいる間に1.x→2.0にバージョンアップし、ウェブサイトもDL方法も刷新されたのでまた新しい相性を検証し直さないとならないんですがw、ひとまず今回は見送って必要性を感じられたら今後追記しようと思います。と言う訳で、まずOpenNIを入れますが、公式からは旧バージョンが手軽にダウンロード出来なくなってしまったので、かおるんダイアリーさんの一覧から1.5.2.23を選択し、openni-win32-1.5.2.23 Unstable Sourceタブ > Windows_32bit > openni-win32-1.5.2.23-dev.msiとnite-win32-1.5.2.21-dev.msiとダウンロードします。
    NITEの方(nite-win32-1.5.2.21-dev.msi)はのちほどインストールします。ダウンロードしたものは今後の為にとっておくことをおすすめします。

    #redist.msiを見つけたらそれを入れても良いです。dev.msiのデベロッパ版(開発者向け)かレジスト版(シンプル)かという違いだけなので、どちらでも支障ありません。ただ、当記事では行いませんが、各所で見られる接続テストを行う為にはデベロッパ版が必要です。

    ▼デベロッパ版


    ▼レジスト版(旧公式)


    OpenNIとはKinectのセンサー部を開発しているイスラエルのPrime Sense社が公開した3D骨格推定結果にアクセス出来るライブラリです。要はKinectからの情報取得を担う部分です。
  2. OpenNIのインストール
    ダウンロードしたOpenNIのmsiを実行してください。NITEは後からインストールします。インストール場所はどこでも良いです。
  3. SensorKinectをダウンロード
    KinectドライバSensorKinectを入れます。avin2/SensorKinect > [branch: unstable]プルダウンからTagsを選択 > Bin > SensorKinect091-Bin-Win32-v.5.1.0.25.msiをダウンロードします。

    トラブルが起こった際の対処記事の量からSensorKinectを選びましたが、今後もKinectのSDKを遊んでいきたいと思う方はROSを使った方がいいかも、と思わせる記事もあったので貼っておきます。ドライバはハードウェアをPCで使う為のもの、くらいの認識でいいです。
  4. SensorKinectのインストール
    SensorKinectをダウンロードすると何故かテキストファイルになっている場合があると思います。気にせず「.txt」を削ってください。拡張子が見えない場合はこちら(XPVista7

    他は特に気をつける点はありません。お好きな場所にインストールしてください。

    インストールが完了すると、コントロールパネル > ハードウェア > デバイスマネージャからKinectが認識されていることを確認出来ます。
  5. NITEをインストールする
    1でダウンロードしたnite-win32-1.5.2.21-dev.msi(もしくは-redist.msi)を実行し、インストールします。これも手順だけで特に気をつけることはありません。好きな場所にインストールしてください。

▲目次へ戻る

【ステップ3】MikuMikuDanceの準備

  1. MMDとDxOpenNIをダウンロード
    MikuMikuDance(DirectX9 Ver)とDxOpenNI.dllをダウンロードしてください。略称MMD、特に説明は必要ないくらい称賛の意味での振り込めない詐欺やメディア等でも有名なソフトウェアですね。DxOpenNIはKinectキャプチャをMMDに反映させる為のプラグインです。


  2. MMDのDataフォルダにDxOpenNI.dllを移動する
    両zipファイルを展開(解凍)し、MMDフォルダをわかりやすい場所に移動します。MMDはインストール不要なのでProgram Files等に直接展開してもいいし、コピー&ペーストしてもいいです。その後、DxOpenNI.dllをMMDフォルダ > Dataフォルダに置きます。

ようやくKinectを使う準備が整いました。

▲目次へ戻る

【ステップ4】MikuMikuDanceでKinectキャプチャ

  1. MMDを起動する

    MikuMikuDance.exeをクリックします。右クリックの「送る」からデスクトップにショートカットを作成しておくと良いかも知れません。
  2. モデルデータを読み込む
    画面下のモデル操作欄(赤茶)にある「読込」ボタンからデフォルトモデル(MMD > UserFile > Model)の鏡音リンを選択します。#余分なものがあまり付いていないから編集しやすいというだけのことで、特に好きなデフォルトのキャラクターがあればモチベ維持の為に何を選んでも良いです。亜種系は確認してないので止めた方がいいかも知れません。この記事の画像で使用しているモデルはMEIKOです。

    最初、ボーンが表示されてキャプチャで動きを見る上では少し見づらいと感じるかも知れないので、モデル操作欄の右のボーン操作欄(紺)の「選択」ボタンをクリック、もしくはCキーで解除してください。わかりづらいんですが、よく見ると初期では押下された状態です。
  3. Kinectを動作させる

    メニューのモーションキャプチャより、Kinectにチェックを入れます。スペックによっては少し重いかも知れません。カメラの前に立つとモデルが動くようになり、上記の「キャプチャ」がクリック出来るようになります。右上に自分の縁がもさもさしたシルエットが出ます。旧来カメラの前で腕を上げる(キャリブレーションポーズと言います)必要がありましたが、今は動くものがあれば自然に認識されるようです。認識しない時は両腕を直角に上げたり、立ち位置より一歩進み出てみてください。
  4. キャプチャする
    一通り遊んで感覚をつかんだら、キャプチャメニューにチェックを入れてキャプチャしてみましょう。

    出来るだけ白っぽい服装に着替え、部屋を明るくしましょう。少し時差があるので、あまりアバターを見ずに演技した方が良いと思います。ちなみにももクロ百田夏菜子のエビ反りジャンプしようとしたけど全然無理でした。
  5. キャプチャを終わる
    撮り終えたら再びキャプチャのチェックを外してキャプチャを終了しましょう。あまり長すぎるととんでもないファイル量・処理量になるので、分割するつもりでも出来るだけ小まめに撮ります。ただし同じアニメーションファイルとしてアップロードするつもりの動作は同じファイルに保存出来るよう収録した方が無難です。保存はメニューのファイルから名前を付けて保存します。

ここまでがキャプチャの手順です。やってみると地面に埋まったり宙に浮いたり手足が交差したり回転出来なかったり難題山積に絶望しそうになると思いますがw、色々工夫する手は残されてるので頑張りましょう。詳しくは上手くキャプチャする為のTIPSの項を参照してください。

そしてひとまずキャプチャは上手くいったものとして、一応以上がこの記事のメインコンテンツなんですが、ここで放りだすのもあれかなと思うので以降の手順も簡単に書いていきます。

▲目次へ戻る

MikuMikuDanceで編集・保存するまでの手順

【ステップ1】編集前の下準備

  1. 名前を付けてpmmファイルで保存する
    キャプチャの項目ですでに保存した場合は結構ですが、何か作業をする前に必ず「名前を付けて保存」からpmmファイルで保存しておきましょう。
  2. 実際に使用する部分を切り抜いて保存する
    今更ですが基本の画面をこちらで軽く確認してください。キャプチャすると、下図のようにひし形(キーフレーム)が0からびっしり詰まったタイムラインがフレーム操作パネルに表示されます。

    どんなに上手く撮っても前後に不要な部分がキャプチャされてしまっているので、まず使いそうな部分を確認します。フレーム操作のフレーム番号が表示されているボックスの横の「>」ボタンを一回クリックすれば方向キーで動くので「→」キーを長押ししたり「←」キーで戻ったりして、フレーム番号範囲を覚えてください。

    覚えたら、フレーム操作パネル下部の空白ボックスに入力します。

    「範囲選択」ボタンをクリックして指定範囲のキーフレームがオレンジ、他が白になったことを確認したら、「コピー」ボタンをクリックします。
    その後、タイムラインの終わりのフレーム番号を確認し、同じ要領で「範囲選択」したら、「削除」します。要するに0キーフレーム(最初のフレーム)は何をしても必ず残りますが一度まっさらにするということです。この時、あまり長時間キャプチャしたものはラグが発生したり、処理落ちしたりします。削除出来たら、緑色の線を0か1に合わせて(数字が書かれている茶の帯をクリックか、フレーム操作パネルから0か1に合わせる)「ペースト」ボタンを押します。
    ほとんど0からで結構です。1から貼る利点は「作業上、パーツの初期キーフレームをコピー&ペーストで簡単に取得出来る」ことにあります。細かい編集を行わずにキャプチャしたものをただ変換しようという時は0から貼ってください。(1から貼った場合、シームレスな動作を作る際の確認は、再生パネルで1キーフレーム(2フレーム目)から最終フレームを指定し、モーションデータの保存する時も1キーフレーム(2フレーム目)から最終フレームを指定してください。)

    終わったら、すぐにカット版として、名前を付けて保存しましょう。
    注意:この手順を追わず前後を削除しようとしても前部分削除の際、0キーフレームと空白フレームが残り、それらは範囲で削除出来ない為、列フレーム削除(Kキー)で一つずつ詰めるしかありません。この処理は重く連発出来ないのでおすすめしません。また、同時起動で新規ファイルにペーストしようとしても現時点では出来ません。何かもっとスマートな方法を見つけたら教えてください。

▲目次へ戻る

【ステップ2】SecondLifeに適した編集を行う

編集はファイルを変換する上で必ずしも必要な訳では無いので、多くは書きませんが大事な留意点だけは書いておきます。編集のヒント的なものは後述するのでそちらを参照してください。

編集を行う上での留意点
  • 0キーフレームのデータは残る
    基礎知識の項「最初のフレーム」で触れていますが、0キーフレーム(1フレーム目)はインワールドに反映されない為、本来であればパーツのデータを0にしておきます。が、(配布されているMMDのモーション等に極力手を加えなくて済むように)MMDBVHToSLBVHではその作業をカット出来るよう、自動的に0キーフレームを挿入してくれます。つまり、モーションデータを保存する際にMMD上の0キーフレームを含めるとSecondLife上では2フレーム目としてMMD上の0キーフレームが表示・反映されます。これをきちんと意識しなければ表示上問題なく制作出来たとしても、例えば異なるアニメーションツールで制作したものとループで合わせようとした時、再生時間が長くなるにつれて当然合わなくなっていく等のトラブルを招きます。
  • SecondLife(デフォルト)もMMDも30FPS
    1フレームが1/30秒(=1秒30フレーム)です。
  • SecondLifeでアップロード出来るアニメーションの長さは最長30秒
  • SecondLifeに無い(もしくは反映されない)パーツを編集しても無意味
    基本的にキャプチャで反映されてる箇所は独特と思われるセンターも含めてコンバート処理にかかりますので、「前髪」や「スカート」等、明らかにMMD特有のものにキーフレームを追加しなければOKです。追加しても変換の際に削除されるだけだと思うので、MMD上で綺麗にしたいということであれば止めません。

MMD操作の参考:初心者向けアドバイス(VPVP wiki)

作業進行毎に細かく保存しておくことをおすすめします。

▲目次へ戻る

【ステップ3】保存後、VMD形式で保存

  1. pmmで保存する
    編集を終えたら保存します。
  2. vmdで「モーションデータを保存」する
    メニューの「フレーム編集」から「ボーンフレームすべて選択」をクリックし、表情・IK以外のフレームがオレンジになったことを確認出来たら、ファイルから「モーションデータの保存」を行います。ステップ1で1キーフレームからキャプチャデータをペーストした方は、「ボーンフレームすべて選択」ではなく、フレーム操作パネルの範囲選択で1から最終フレームを指定して選択してから保存してください。

編集はここまでです。お疲れ様でした。

▲目次へ戻る

SecondLifeにアップロードするまでの手順

【ステップ1】mioのインストール

こちらについては書いたところで全力リツイートになるので、 Windows7 64bit 版で mio-0.1 動かしてみる(2012年3月公開)(セカンドライフ ミタコト キイタコト)をメインに、コマンドプロンプトの扱いが必要になった方は「mmdとmodoとmessiahを使って大河さんでれっつだんしんぐ その4」(modo - ABC (モデリング・チュートリアル))を参照してください。
両記事内にも書かれていますが、特にインストール先、英文字を使う、64ビット版でも32ビット版を入れる、という点に注意してください。

あとは各種ダウンロードする際に「ダウンロード」の釣り広告がたくさんあるから注意するくらいだと思います。よく確かめながらダウンロードしてください。

▲目次へ戻る

【ステップ2】mioでVMDファイルをBVHファイルに変換する

mioを動作させることが出来ればあともう少しです。

  1. キャプチャで使用したモデルのコピーを英文字で作る
    MMD > UserFile > Modelの中のモデルをコピー&ペーストし、新しいモデルを半角英数字(多分小文字が良い)に変更します。(画像とアイコンは違うと思いますが気にしないでください。)
  2. vmdviewer.pywを起動する
    慣れない場所にインストールした為にファイルの場所がわからなくなってしまったら、Windowsキーをタイプした時に出るスタートの検索でvmdviewerと入力すれば出てきます。
  3. PMD FileをLoadする

    先ほど用意した英文字のモデルを指定します。
  4. VMD FileをLoadする
    BVHファイルに変換したいVMDファイルを指定します。
  5. Export BVHボタンをクリック
  6. File Nameに好きな名前を「.bvh」付きで入力する

    拡張子付けないと無拡張子ファイルになります。

これでBVHファイルへの変換が終わりました。次に、SecondLifeで使えるBVHファイルへの変換を行います。

▲目次へ戻る

【補足】mioが動かない時の地味なヒント

  • 何をするにもまず一度再起動
  • 同時起動・常駐しているソフトウェアを全て終了させる
  • 何度も起動を試す
  • mio関連を全てインストールしなおす
  • 入力装置を見直す
    タブレットマウス等とは相性が良くない可能性があります。マウスは動かないがキーボードでは動く、ということもあるので起動出来たなら試してみてください。Tabキー(戻る時はShift+Tab)で選択移動し、Spaceキーで決定します。
  • グラフィックカードのドライバを更新する

▲目次へ戻る

【ステップ3】MMDBVHToSLBVHでファイル変換する

  1. MMDBVHToSLBVHのダウンロード
    MMDBVHToSLBVH.exeとREADME.txtをわかりやすい場所にダウンロードします。
  2. 起動後、開く
    MMDBVHToSLBVH.exeを起動し、メニューのFileのOpenからステップ2で作成したbvhファイルを選択します。
  3. OptionのUse All Jointsにチェックを入れる
    オプションを使用する場合はファイルを開いた後でチェックを入れます。オプションの意味はREADME.txtをご覧ください。
  4. それぞれRunボタンで確認後、FileのSave As...からBVHを保存する
    SecondLife用に変換したバージョンであることをわかりやすいように保存してください。

以上でファイル変換の工程は一応完了しました。お疲れ様でした。

▲目次へ戻る

【ステップ4】SecondLifeへアップロード

特に何も説明することが無いんですがw、使用しているViewerの手順に従ってアップロードしてください。1ファイルにつき10L$かかります。何か困ったことがあれば、基礎知識の項を参照すればヒントがあるかも知れませんし、Google等で検索すればより良いTIPSを得られます。

▲目次へ戻る

上手くキャプチャする為のTIPS

  • 設置場所と服装を見直す
    基礎中の基礎ですが、これも色々試した方が良いと思います。見落としがちなのは床の色、小物等です。部屋を整頓、出来るだけ映る範囲に物を置かないようにしてください。
  • ブーツカット系ボトムと黒靴下等で足元の認識をあえて弱める
    身長が高い人等はフレームに入ろうと下がることによって足先がびろびろ?してしまいやすいと思います。一度試してみてください。もちろんつま先の方向が取得ほとんど出来なくなりますが、足先だけの編集なら通常プリム操作出来るSecondLifeユーザならそれほど苦にはならないと思います。靴下は滑り止めの付いたものを使用してください。
  • IKをOFFにする
    激しい動きをする際に、「手足にどうもかたさのようなものを感じる」「動いた通りに全く動いてくれない」等の問題はほとんどIKによるものです。ネクタイ(ミク関連作品メモ…。)を参考にして、IKのオフを試してください。ただし、mioでBVHに変換する際、そのまま変換しようとしてもモデルデータの整合性が取れずかたまります。PMDエディタ(MikuMikuDanceのModel編集エディタ)等のモデルデータのパーツ一部消去手順(VPVP Wiki)を追い、IKを切ったパーツを削除し、そのモデルデータをmioで使用してください。バックアップを忘れずに。
  • 足IKを非対称に切る
    IKを両方切ってしまうと連続したジャンプ等の激しくかつ編集が難しい動きの場合、今度は自由すぎて着地点調整等に苦心する、といった結果になったりならなかったりします。その場合は左足・左つま先のIKだけ切るといったように非対称のモデルデータを試してみてください。繊細な足さばきには使えませんが、身体と足が安定しやすくなります。
  • 上半身と下半身を別撮りする
    やったことないんですが最も使われてるテクニックです。編集技術が必要になってきます。それほど難しくはないと思います。
  • ゆっくりキャプチャして編集で速度を増す
    キャプチャのTIPSとは言えませんが、編集でなんとかするのが一番早いのも事実です。間引きツール等もあるのでなんともならない時は編集を頑張ってみてください。参考:MMDMotionFilter(Shiroma Style 製作物置き場)
    なお、基本的に単調な繰り返し動作(歩行・飲食等)はキャプチャより1から作った方が早いです。キャプチャを参考資料として使うのが良いでしょう。
  • MMDではなくLiveAnimation、Poser、Maya等を使ってみる
    お手軽さと腰・回転等の認識(補正)力ではMMDが一番だと思いますが、他にもKinectを使ってキャプチャ出来るツールはあるので、自分が撮りたい動きによって決めましょう。特にLiveAnimationとは使い分けるくらいがいいと思います。キャプチャからファイル変換の手順的にはほとんどMMDと変わりません。MMDは若干内股・内二の腕・肩華奢系補正がかかって女性っぽく=身体にパーツがわずかに埋まりやすくなります。多分。

▲目次へ戻る

本格的にアニメーション制作にとりかかりたくなった人の為の余談

某引退ダンサーが愛用していた床

自分で楽しむ分にはあまり意識する必要はありませんが、SecondLifeのダンサーや接客系等インワールドで深度ある活動をしている方に向けて作るならば、いくつか一考する価値のある点があります。自身がアニメーターでもダンサーでもないので、それを明白に説明することは出来ませんが、見聞きしたことを添えておくと「初動位置の汎用性」「つなぎ」「ビート」「優先度」「顔の向き」には強いこだわりを持った方が良いかも知れません。まだまだ撮ったら撮っただけのMocapアニメーションが多い中で、数を出せなくとも差別化すれば商機にもなると思います。使って欲しい相手に聞いてみるということを一度してみてください。無論あまり公開したくないという方もいると思うので無理強いは無しで。

アニメーション編集ツールについては、キャプチャするからといってそれに限らず使いやすいものを使えば良いと思います。

”まず必要なのは、セカンドライフ外部でアニメーションを作成するソフトウェアです。Avimator、SlatDAZ StudioBlenderQAvimatorなどの無料で使用できるものや、PoserMayaPosemakerなどの商用ソフトウェアがあります。”2007年株式会社インプレスR&D発行「セカンドライフ公式ガイド」193ページ中段(英語版171ページ)より引用。

Avimatorはセカンドライフ向けのオープンソースアプリケーションでしたが、後継QAvimatorの開発開始と同時期にAvimatorの開発をホールドし、現在は廃版となっています。どうしても(資料的・実験的・過去の産物の手直し等に)必要な場合は自己責任でウェブアーカイブからダウンロードしてください。これからアニメーションだけ作成したい方はこの記事にしたがってMMDを試した後にQAvimator、モデリングにも興味がある方はBlender(+出来ればAvastar)を使うのが良いと思います。SecondLife向けでない有料ソフトウェアを使う場合はバージョンとSecondLifeとの相性を常にチェックしてください。#無料の例ですが、DAZ Studioの古いバージョンでHip(腰)位置の認識がおかしくなるバグが過去にあったようです。

▲目次へ戻る

終わりに

記事が何かの参考になれば幸いです。

今のところ店も何もやってないSecondLifeエンドユーザ、そして2010~2012年中期頃までSL休止してたので記事中の件でも答えられないことがありますが、質問があればTwitterかコメントかIWでどうぞ。見る順です。

誤りがあれば教えていただけると助かります。

▲目次へ戻る