Second Life アニメーションファイルの変換方法

モーションファイルが提供されているダンスをセカンドライフで使えるアニメーションファイルに変換する方法です。

この手順はWindows10(22H2) 64bit環境を想定しています。

パソコン環境によることが多く、この通りに進めてもエラーが出てしまう場合があります。


💞この記事を読んでわかる・できること

  • MMDモーションファイル(VMDファイル)をセカンドライフ用のBVHファイルに変換できる
  • BVHファイルをアップロードできる

📗目次

  • 参考記事
  • モーションデータの利用規約を確認
  • 今回のモーションと動画
  • 必要なステップ
  • ツールの準備
  • ツールのセットアップ
  • VMDファイルからBVHファイルに変換
  • Second Lifeにアップロード
  • Second Lifeの中で再生
  • Windows8.1以前や32bit環境の場合

参考記事

MMD と SL ~ モーション編
Windows7 64bit 版で mio-0.1 動かしてみる(2012年3月公開)
セカンドライフ 60秒 アニメーション解禁
VPVP wiki モーションツール/ファイル変換
MikuMikuDanceで作成したダンスをSecond Lifeで!(きっと長文)
iClone7 で 極楽浄土 (Paradise Land)  

モーションデータの利用規約を確認

モーションデータには利用規約が含まれていますのでしっかり確認しましょう。記載されている内容、ルールを守って気持ちよく楽しんでもらえると嬉しいです。

今回のモーションと動画

必要なステップ

大きくわけて3つですが、ツールの準備が大変なので頑張ってください。
  1. VMDファイルをmioでBVHファイルに変換
  2. BVHファイルをMMDBVHToSLBVHでSecond Life用のBVHファイルに変換
  3. Second Lifeに2のBVHファイルをアップロード

ツールの準備

ツールや必要なファイルをダウンロードします。
この手順はWindows10(22H2) 64bit環境を想定しています。
各ソフトの最新バージョンを使った方が良いですが、今回のソフトは動作させることが難しいため、特定の古いバージョンを使っています。PCのセキュリティに注意してください。

mio関連 VMDからBVHに変換するツール

mio-0.1
下のURLを開くと直接ダウンロードできます。mio-0.1.zipをダウンロード

vcpvcr71 (msvcp71.dllとmsvcr71.dll同梱)
下のURLを開き、「ダウンロードページへ」をクリックし、「このソフトを今すぐダウンロード」をクリックして、vcpvcr71.zipをダウンロード

解説記事を参考にして、近いバージョンを揃えたものです。
python-2.6.6
下のURLを開き、「Windows x86 MSI Installer (2.6.6) (sig)」のリンクをクリックしてpython-2.6.6.msiをダウンロード

PyOpenGL-3.0.0.win32
下のURLを開き、「PyOpenGL-3.0.0.win32.exe」のリンクをクリックしてPyOpenGL-3.0.0.win32.exeをダウンロード

PyQt-Py2.6-gpl-4.5.4-1
下のURLを開き、「PyQt-Py2.6-gpl-4.5.4-1.exe」のリンクをクリックしてPyQt-Py2.6-gpl-4.5.4-1.exeをダウンロード

MMDBVHToSLBVH関連 BVHからSecond Life用のBVHに変換するツール

MMDBVHToSLBVH
下のURLを開き、画面上のリストにある「MMDBVHToSLBVH.exe」をクリックし、次の画面で「View Raw」のリンクをクリックしてMMDBVHToSLBVH.exeをダウンロード

.NET Framework 3.5
アプリ実行時の自動導入またはWindowsの機能追加で入れます

MikuMikuDance関連 モデルデータの利用

MikuMikuDance(DirectX9 Ver)
下のURLを開き、「MikuMikuDance(DirectX9 Ver) 」のリンクをクリックしてMikuMikuDance_v932.zipをダウンロード

LiveAnimation関連 VMDやBVHデータの再生

LiveAnimation 
下のURLを開き、「実行方法」のリストにあるLiveAnimation_XXX.zip (XXXは数字) をダウンロード

Microsoft XNA Framework Redistributable 4.0
下のURLを開き、「Download」をクリックしてxnafx40_redist.msiをダウンロード

DLLの依存関係が分かるツール ※トラブル時に使う


ツールのセットアップ

この手順はWindows10(22H2) 64bit環境を想定しています。

mioのセットアップ

1. vcpvcr71(msvcp71.dllとmsvcr71.dll)のセットアップ

vcpvcr71.zipを展開してdllフォルダにあるmsvcp71.dllとmsvcr71.dllをC:\Windows\SysWOW64にコピーします。

2. mio-0.1.zipのセットアップ

mio-0.1.zipを展開します。展開したものをCドライブの直下に移動します。C:\mio-0.1の中にcmio、data、includeやscriptsなどのフォルダ、READMEがある状態にします。

3. python-2.6.6.msiをインストールします。画面の指示に従います。

4. PyOpenGL-3.0.0.win32.exeを右クリックして「管理者として実行」を選び、インストールします。画面の指示に従います。

5. PyQt-Py2.6-gpl-4.5.4-1.exeをインストールします。画面の指示に従います。

6. python.exeをそのまま実行できるように環境変数のPATHを設定しておきます。

Windowsの「設定」を開き、「システム」→「詳細情報」に行きます。
詳細画面の右の方にある「システムの詳細情報」をクリック。
システムのプロパティが出たら「詳細設定」タブの「環境変数」ボタンをクリック。
システム環境変数の「Path」を選択して「編集」をクリック。
「新規」ボタンをクリックし、入力欄が出たら「C:\Python26」を入力。
「C:\Python26」の行を選択し、「上へ」ボタンをクリックして一番上に移動します。

7. C:\mio-0.1\lib\unicode\にあるDevIL.dll、ILU.dllの2つを、C:\mio-0.1\scripts\にコピーします。

8. 下記の方法で見つけたmsvcr80.dll (x86・32bit版)をC:\Windows\WinSxS\フォルダからC:\mio-0.1\scripts\にコピーします。

エクスプローラーでCドライブを開きます。
右上の検索ボックスで "msvcr80.dll" を入力してエンターキーを押します。
検索が始まり、少し待つとC:\Windows\WinSxSのフォルダ内にあるのが見つかります。
結果一覧で「C:\Windows\WinSxS\x86_microsoft.~」のパスにある msvcr80.dll を選択してコピーし、C:\mio-0.1\scripts\に貼り付けます。

9. C:\mio-0.1\scripts\vmdviewer.pyw をダブルクリックして画面が出るか試します。

ここでvmdviewerの画面が出ない、反応が無い場合は必要なDLLが足りていません。
mio-0.1\scripts\_cmio.pyd (DLL)が他のDLLを参照しています。依存関係が分かる「Dependency Walker」ツール等で確認し、足りないDLLをインストールします。

10. mio-0.1でVMDファイル内に変換できない文字があるときのエラーを解消するため、ソースを変更します。

変更するファイル:
C:\mio-0.1\scripts\pymio\mmd\vmd\vmd_parser.py

変更内容:
28行目のget_english_nameのところのコードを下のように変更します(赤字)。変換できない文字はreplaceで対処するようにします。

def get_english_name(raw):
    return Dictionary.to_english(read_null_terminated_string(raw).decode('shift-jis').encode('utf-8'))

  ↓

def get_english_name(raw):
    return Dictionary.to_english(read_null_terminated_string(raw).decode('shift-jis', 'replace').encode('utf-8'))

MMDBVHToSLBVHのセットアップ

1. ダウンロードしたMMDBVHToSLBVH.exeをCドライブの直下に英語のフォルダを作り、コピーします。

2. MMDBVHToSLBVH.exeを実行して、.NET Framework 3.5のインストールが出たら従ってください。

3. .NET Framework 3.5のインストールができている状態で、MMDBVHToSLBVH.exeを実行すると画面が表示されます。

LiveAnimationのセットアップ

1. xnafx40_redist.msiをインストールします。画面の指示に従います。

2. ダウンロードしたLiveAnimation_XXX.zip (XXXは数字)を展開します。

3. 展開したフォルダにあるLiveAnimation.exeを実行して画面が出ることを確認します。

VMDファイルからBVHファイルに変換

※フォルダ名、ファイル名は日本語にしない

ダンスモーションデータ、モデルデータの用意

1. ダンスモーションデータ(VMDファイル)を頂いてきます
【MMD戦国BASARA】極楽浄土 モーショントレース

2.MikuMikuDance(DirectX9 Ver)のzipを展開します。 MikuMikuDance_v932\UserFile\Model の中から "初音ミク.pmd" ファイルをもらってきます。ファイル名は "hatsunemiku.pmd" に変更します

3. Cドライブ直下に英語のフォルダ名を作り、vmdファイルとpmdファイルをコピーします。

mioの操作

1. C:\mio-0.1\scripts\vmdviewer.pywをダブルクリックして、vmdviewer画面を出します

2. PMDの「Load」ボタンをクリックし、MikuMikuDanceから抽出したPMDファイルを選択

3. VMDの「Load」ボタンをクリックし、用意したVMDファイルを選択

4. 読み込まれるので待ちます

5. 「Export BVH」ボタンをクリック

6. Export BVHダイアログが開くので、FileNameは適当なフォルダとファイル名にする ※英語
 その他の設定はそのままにする

7. Export BVHダイアログの「Save」をクリック

8. BVHファイルが保存される

MMDBVHToSLBVHの操作

1. MMDBVHToSLBVH.exeを実行します

2. 「Option」メニューの「Duration」で秒数を設定します。この秒数でファイルが分かれます。

3. 「File」メニューの「Open」でBVHファイルを開きます。ここでアプリが落ちたらBVHファイルが正しく用意できていません。

4. 「File」メニューの「Save As」でSL用のBVHファイル名を指定して保存します(指定秒数ごとに分割されます)

※作成したBVHファイルの確認(やらなくてもOK)

1. LiveAnimationを実行します

2. メニューにあるモデルのボタンのいずれかをクリック

3. メニューで「ファイル」→「インポート」→「BVH」をクリックし、作成したBVHファイルを選択

4. 画面下部にある再生ボタンをクリックして再生出来たらOK 

Second Lifeにアップロード

1. Second Lifeのビューアを起動します

2. アップロードでBVHファイルを選択します

3. アニメーションの設定をします

複数ファイルを分けたものを連続して使うなら以下の設定が良いです
ループ: ON
プライオリティ:4 優先度を高くする
イン: 100  ループの復帰点を最後のフレームにする
アウト: 100 ループの終了点を最後のフレームにする
イーズイン: 0  最後の方の動きの緩急を無くす
イーズアウト: 0  最初の方の動きの緩急を無くす

4. プレビューをして問題なければ、アップロードを実行します

Second Lifeの中で再生

アップロードしたアニメーションがインベントリに保存されています。再生してみて問題ないか確認します。

Windows8.1以前や32bit環境の場合

ツールの準備

上記のツール以外に必要なファイルをダウンロードします。環境に合わせて足りないDLLを追加しますので利用するOSによっては不要です。

Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ
Microsoft Visual C++ 2008 Service Pack 1 再頒布可能パッケージ
glut-3.7.6-bin.zip The OpenGL Utility Toolkit (GLUT)

ツールのセットアップ(mioを実行する前に)

※32bitのdllをWindowsのシステムフォルダに入れるとき、以下のフォルダに入れます。
64bit環境は C:\Windows\SysWOW64 に入れる
32bit環境は C:\Windows\system32 に入れる

・「vcpvcr71」を入れます。vcpvcr71.zipを展開してdllフォルダにあるmsvcp71.dllとmsvcr71.dllをC:\Windows\SysWOW64またはC:\Windows\system32にコピーします。(64bit環境はSysWOW64に入れる)

・「Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ」を入れます。

・「Microsoft Visual C++ 2008 Service Pack 1 再頒布可能パッケージ」を入れます。

・glut-3.7.6-bin.zip を展開してglut32.dll をC:\Windows\SysWOW64またはC:\Windows\system32にコピーします。(64bit環境はSysWOW64に入れる)