ラベル MMD の投稿を表示しています。 すべての投稿を表示
ラベル MMD の投稿を表示しています。 すべての投稿を表示

2014年12月21日日曜日

8.2.MMD 音声同期

MMDに音声同期をさせます。

前回も説明した関数を少し説明しておきます。
MP3のオープンと開いたファイルにエイリアスをつけておきます。
mciSendString(TEXT("open ../Release/zzz.mp3 alias __MP3__"), NULL, 0, NULL);
音声にオフセットをつけます。微妙なタイミングの調整ですね。
mciSendString(TEXT("seek __MP3__ to 400"), NULL, 0, 0);
音声を再生します。
mciSendString(TEXT("play __MP3__ notify"), NULL, 0, hWnd);
再生中の音声の位置を取得します。下記ソースではそこから更新タイミングを算出しています。
mciSendString(TEXT("status __MP3__ position"), szBuf, sizeof(szBuf) / sizeof(TCHAR), NULL);

2014年12月18日木曜日

8.1.MP3 音声再生

せっかくなので、音声再生させます。
今はタイマでモデル更新していますが、音声の経過で更新するのが普通ですね。
MP3を mciSendString 関数を使って再生します

7.5.MMD Open GL シャドウ(ステンシルバッファ)

7.4の動画は影をつけてしまっていました。
OpenGLのステンシルバッファを利用して影を表示しています。以下コード。

7.4.MMD アプリ実行

さっそく実行しました。

2014年12月16日火曜日

7.3.MMDアプリ作成

とりあえず何かモデルに踊ってもらいましょう!

1.空のプロジェクトを作成します。

2.ソースコードをかきます。最後に載せます。
3.インクルードパスを通します。

4.MMDとBulletPhysicsを共有化し参照します。

X.マルチバイト文字を使用することとしておきます。
X.ランタイムライブラリはマルチスレッド DLL(/MD)でビルドします。

2014年12月15日月曜日

7.2.MMD 下準備② MMD をライブラリ化

直接プロジェクトに組み込んでもいいのですが、この際libにします.too。
1.Win32コンソールアプリケーション"MMD"を作成します。
2.次へ→スタティックライブラリを選択します。
3.ARTK_MMD_src/src/MMD(前回DLしておいたもの)を下記の通り登録します。

4.インクルードパスを通します。

5.ビルドします。MMD/Release/BulletPhysicsWrap.libができます。

X.マルチバイト文字を使用することとしておきます。
X.ランタイムライブラリはマルチスレッド DLL(/MD)でビルドします。

7.1.MMD 下準備① Bullet Physics のWrapper をライブラリ化

直接プロジェクトに組み込んでもいいのですが、この際libにします。

1.空のソリューション"MMD"を作成します。

2.新しいプロジェクトを追加します。

3.Win32コンソールアプリケーション"BulletPhysics"を作成します。


4.次へ→スタティックライブラリを選択します。

5.ARTK_MMD_src/src/BulletPhysics(前回DLしておいたもの)を下記の通り登録します。

6.インクルードパスを通します。

7.ビルドします。MMD/Release/BulletPhysicsWrap.libができます。


X.マルチバイト文字を使用することとしておきます。

X.ランタイムライブラリはマルチスレッド DLL(/MD)でビルドします。