最新版ライブラリでのMMDモデルの表示
Posted: 2011年3月09日(水) 10:37
おわかりになる方、ご返答いただければ幸いです。
MikuMikuDance標準搭載モデルの初音ミクモデルをMV1LoadModel関数を使用して
読み込み、MV1DrawModelで描画する、それだけの事が行いたいのですが、
DxLibのバージョンを更新したところ以下の問題が発生いたしました。
Ver3.02bを使用していた時は問題なく描画されておりました。
しかし、最新版Ver3.04dに更新を行ったところキャラクターモデルが黒い帯状の何かを纏ってしまう様になってしまいました。
最新版を使用したい理由として、現在はUDPのシステムを利用したいと考えていますが、
今後もモデル不使用が原因でライブラリの更新が出来ないのは問題なので解決できればと考えております。
(過去の3D周りの不具合が大変改善されているようなので出来れば是非とも使いたいです。。)
よろしくお願いいたします。
開発環境:VisualStudio6.0
OS:WindowsVista
--------------------------------------------------------
以下ソースとなります
// WinMain
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// ライブラリの初期化
if( DxLib_Init() < 0 )
return -1 ;
//モデル読み込み
pl.ModelHandle = MV1LoadModel( "./dat/3d/miku.pmd" ) ;
MV1SetPosition( pl.ModelHandle, VGet( 320.0f, -300.0f, 1600.0f ) ) ;
MV1SetScale( pl.ModelHandle, VGet( 200.0f, 200.0f, 200.0f ) ) ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// ESCキーが押されるか、ウインドウが閉じられるまでループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// 画面をクリア
ClearDrawScreen() ;
MV1DrawModel( pl.ModelHandle ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// ライブラリの後始末
DxLib_End() ;
// ソフト終了
return 0 ;
}
MikuMikuDance標準搭載モデルの初音ミクモデルをMV1LoadModel関数を使用して
読み込み、MV1DrawModelで描画する、それだけの事が行いたいのですが、
DxLibのバージョンを更新したところ以下の問題が発生いたしました。
Ver3.02bを使用していた時は問題なく描画されておりました。
しかし、最新版Ver3.04dに更新を行ったところキャラクターモデルが黒い帯状の何かを纏ってしまう様になってしまいました。
最新版を使用したい理由として、現在はUDPのシステムを利用したいと考えていますが、
今後もモデル不使用が原因でライブラリの更新が出来ないのは問題なので解決できればと考えております。
(過去の3D周りの不具合が大変改善されているようなので出来れば是非とも使いたいです。。)
よろしくお願いいたします。
開発環境:VisualStudio6.0
OS:WindowsVista
--------------------------------------------------------
以下ソースとなります
// WinMain
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// ライブラリの初期化
if( DxLib_Init() < 0 )
return -1 ;
//モデル読み込み
pl.ModelHandle = MV1LoadModel( "./dat/3d/miku.pmd" ) ;
MV1SetPosition( pl.ModelHandle, VGet( 320.0f, -300.0f, 1600.0f ) ) ;
MV1SetScale( pl.ModelHandle, VGet( 200.0f, 200.0f, 200.0f ) ) ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// ESCキーが押されるか、ウインドウが閉じられるまでループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// 画面をクリア
ClearDrawScreen() ;
MV1DrawModel( pl.ModelHandle ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// ライブラリの後始末
DxLib_End() ;
// ソフト終了
return 0 ;
}