2012年3月30日金曜日

Windows7 64bit 版で mio-0.1 動かしてみる(2012年3月公開)

(追記) Windows 8.1 64bit 版でも稼働確認しました。
http://snumaw.blogspot.jp/2013/11/windows-81-64bit-mio-01.html

mio-0.1 を使った VMD モーションファイルを BVH モーションファイルに変換するための設定手順を扱った 2 年前の投稿がいまだにヒット数/参照数が高いのは、やはり、この設定手順が結構複雑という理由でしょうね。

前回の上半身2を利用したモーション変換の投稿で改めて mio を使ってのモーション変換環境を作ろうとしたのですが、、、あの記事を書いた私でさえ1回で動かなかった >< という事実もあり、再度まとめてみようと思います。

ただ、今回は 64bit 版の Windows で mio を動かします。最近の PC は Windows7 64bit版が多いと思います。セカンドライフや 3D 関連を趣味でやろうとしたら、搭載メモリーのことを考えると必然的に 64 bit 版の Windows を選択することになりますよね~(後述しますが、手順と必要なソフト、ファイル、モジュール自体は Windows 32bit 版でも同じです。SysWOW64 か system32 だけ気を付けてください。)

今回はまったく「素」の Windows7 64bit の環境で mio-0.1 が動くように実際にセットアップした手順になります。途中でエラーがでないように考慮しているので、VPVP Wiki などに書かれている手順、さらに2年前に私が書いた手順とは若干違います。(たぶん、この手順の違いが、一般的に難しかった原因じゃないかな?と思っています。以下の「おまじない」の部分になります。)また、2012年の3月時点で入手可能なバージョンを使っていますので、しばらくはこのままいけるんじゃないかな?とも思います~。

Windows7 64bit 版に mio-0.1 その他必要なモジュールをインストールする(2012年3月公開)

注1)これは Windows7 64bit 版で mio-0.1 を使うための手順です。
注2) 無用なトラブルを避けるため、ネットからダウンロードしたファイル(zipファイルなど)は、ダウンロード直後に右クリックメニューから「プロパティ」を選び、[ブロックの解除] を押してください。ボタンがなければそのまま使って大丈夫です。

1) MSVCR71.DLL のダウンロードとインストール
おまじないです。Vectorからダウンロードします。
http://www.vector.co.jp/soft/dl/win95/util/se435079.html
vcpvcr71.zip を解凍し、vcpvcr71\dll にある msvcp71.dll と msvcr71.dll を Windows\SysWOW64 にコピーします。

2) C++ VS2008 SP1 再頒布パッケージ(x86) のインストール
これもおまじないです。
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2
(Windows7 64bit版を使っていても x86 のパッケージをダウンロード&インストールしてください。)

3) mio-0.1 のダウンロードと解凍
http://www.mediafire.com/download.php?mdyzlml2waw
mio-0.1.zip ファイルを解凍し、C:\Tools\mio などに mio-0.1 フォルダーごと展開します。

4) DevIL.dll, ILU.dll, ILUT.dll のシステムへのコピー 
解凍した mio-0.1 の lib\unicode にある DevIL.dll、ILU.dll、ILUT.dll をWindows\SysWOW64にコピーします。
「対象のフォルダーへのアクセスは拒否されました」と出ますが、[続行] をクリックしてください。

5) GLUT32.DLL のダウンロードとインストール
http://user.xmission.com/~nate/glut.html から glut-3.7.6-bin.zip をダウンロードします。
解凍して glut32.dll を上記3)同様 Windows\SysWOW64 にコピーします。

6) Python2.6.x のダウンロードとインストール
http://www.python.jp/Zope/download/pythoncore
2012年3月でダウンロード可能な 2.6 系は 2.6.6 と 2.6.7。作者様が使っていたバージョンに近い 2.6.6 をインストールします。(2.6.7 でもいいかもしれませんが試していません)
Windows用インストーラにある「python-2.6.6.msi」をダウンロードしてください。Windows7 64bit版を使っていても、32bit 版の python-2.6.6 を選び、python-2.6.6.amd64.msi は使わないでください

[追記] 2.7.x では mio は動かないようです。2.6.6 が 2.6.x の最終バイナリになるので、必ず 2.6.6 をインストールしてくださいね。
http://www.python.org/download/releases/2.6.6/

7) PyOpenGL 3.0 のダウンロードとインストール
http://pypi.python.org/pypi/PyOpenGL
いくつかのバージョンがありますが PyOpenGL 3.0.1 をダウンロードします。(作者様が作成したバージョンに近いからです)
PyOpenGL 3.0.1 のリンクををクリックすると PyOpenGL 3.0.1 のページにいくので、PyOpenGL-3.0.1.win32.exe (md5) のリンクをクリックしてダウンロードします。
ダウンロードした PyOpenGL-3.0.1.win32 を右クリックして「管理者として実行」を選び、インストールします。

8) PyQt のダウンロードとインストール
http://www.riverbankcomputing.co.uk/software/pyqt/download
2012年3月でダウンロード可能なのは PyQt-Py2.6x86-gpl-4.9.1-1.exe になります。いろいろなバージョンがあるので難しいですね。Python2.6用で、x86(何度もいいますが、Windows7 64bitでもx86版です)用を選んでください。

これで vmdviewer を mio のフォルダーの script サブフォルダ―にある vmdviewer をダブルクリックします。

vmdviewer
Windows7 64 ビット オペレーティング システム上で mio の vmdviewer が立ち上がりました。

この手順は Windows の 32bit 版でも有効だと思います。ただし、Windows\SysWOW64 の部分を Windows\system32 に置き換えてくださいね。

変換のときの注意点

1) 日本語は使わない。フォルダー名にもファイル名にも、PMDモデルも VMDモーション ファイル名も!

2) 日本語の VMDファイルを「名前の変更」で英語表記にしても「Shift JIS codec can’t decode...」のエラーダイアログが出る場合は MMD を使って一度 VMD を読込んで、そのモーションを英語名で保存してみてください。過去のご紹介はこちら

3) vmdviewer の [PMD File] – [Load] で PMD を読み込んでも、モデルが表示されない場合があります。エラーメッセージが出ていないのであれば、そのままの状態で VMD ファイルを読み込んで変換してみてください。VMD ファイルを [Load] で読み込んだ時にメッセージで 「Computing IK..」が出ていれば、ほぼだいじょうぶです。[Play] による確認はできませんが、[Export BVH] ボタンで BVH ファイルとして保存して、他の BVH モーション確認ツールでみてみましょう。

4) 上記 3) の状態が気持ちわるい、、、という方にはコマンドラインでの変換をお勧めします。コマンドラインってなに?の方はやらないほうがいいかもですが。。。。

a) コマンドプロンプトを開きます。(これがわからない人はパスしてください)
b) mio\script フォルダをカレントディレクトリにして以下のようにタイプします。
vmd2bvh.py ..\model\aaa.pmd ..\motion\bbb.vmd ..\motion\bbb.bvh
(mio のフォルダに model と motion フォルダを自分で作成し、そこに load する pmd および vmd ファイルがあって、motion フォルダに同じ名前の bvh ファイルを保存する場合の指定の仕方です)
vmdviewer2

フレームでの進行を確認でき、最後に Saving BVH data...というメッセージが表示されます。

5) 上半身2 ボーン(upper_body2)入りの BVH ファイルを作りたい場合は、上半身2 ボーンを持っている PMD ファイルを Load してください。上半身2ボーンを upper_body2 という名前に変換したい場合は過去のこちらの記事を参照してください。なお、dictionary の変更をしなくても、bvh ファイルを開き、upper_body の次のレベルの \u4e0a\u534a\u8eab2 (UNICODE で “上半身2”)を upper_body2 にしても有効です。

ご参考になれば幸いです~。

8 件のコメント:

  1. 通りすがりのSL住人です。
    ここにたどり着いた理由をご参考までに。
    先日、ぱふゅ~むのダンスをモーションキャプしたbvhデータが公開されました。
    そのままではSLにうpできないので色々調べてたどり着きました。^^
    ご参考までにリンクを。
    http://www.perfume-global.com/

    返信削除
  2. おもしろいですね~。
    公開されている BVH を見ると、上半身のボーン構造が chest~chest4 となっているので、たぶん chest を abdomen にして、chest1~chest4 を chest にどのように組み込むか、あと、Frame Time が 0.025 ということは 40 FPS ですね。
    BVHacker で読み込むと暴れるので座標軸系が違うような気がします。座標軸変換するプログラム作らないと読めないでしょうね。
    きっとMikuMikuDanceですばらしい変換済みVMDがでるような気がするのでそちらから mio -> mmdbvh2slbvh で変換してアップしたほうがいいかも~(^^;

    返信削除
  3. 一応、やってみました。
    基本は Live Animation というソフトを使って MMD向けのVMDファイルに変換し、mio を使って VMD->BVH にします。この BVH ファイルであれば mmdbvhToslbvh で Secondlife 用に変換できます。
    細かい修正/微調整は MMD に取り込んでやるのがよさそうです。

    以下がくわしいですね~。
    http://kagamikohime.blog118.fc2.com/?no=1543

    返信削除
  4. わぁ( ̄O ̄;)!!具体的な情報ありがとうございます!
    興味本位で首を突っ込んでみたものの、行き詰ってました。
    これなら頑張ってゴールできそうです!

    一瞬芸のジェスチャーごときとは、苦労の次元が違うことを思い知らされました^^;

    返信削除
  5. 私がご紹介した方法でもところどころハマリポイントがあるのでまとめてみました。
    http://snumaw.blogspot.jp/2012/04/motion-capture-databvh-file.html
    ご参考になれば幸いです~。

    返信削除
  6. tayubuと申します。
    すみません解決して無事にできました><;
    ありがとうございました!!
    申し訳ないのですが自分のコメントはそのまま消していただけると助かります。
    すみませんでした。

    返信削除
  7. やった~~ 初めて起動した!ありがとうございます!!

    返信削除
  8. んー・・やっぱり起動しない^^:
    今度詳しく教えて頂きたいです><

    返信削除