android版にて3Dモデルを表示させアニメーションさせるプログラムを書いていたのですが、モデルは表示されますがアニメーションがされません・・・
下記のコードで、test.pmx test000.vmp はソリューションエクスプローラーからassetsフォルダに追加してます。
PC向けに同一のコードを実行するとアニメーションされます。
何か見落としているところなどありますでしょうか?
お手数ですがよろしくお願いいたします。
#include "DxLib.h"
int android_main(void)
{
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// 描画先を裏画面に変更
SetDrawScreen(DX_SCREEN_BACK);
int AttachIndex;
float TotalTime, PlayTime;
//テストモデルの読み込み
int ModelHandle = MV1LoadModel("test.pmx");
// 3Dモデルのアニメーションをアタッチする
AttachIndex = MV1AttachAnim(ModelHandle, 0, -1, TRUE);
// アタッチしたアニメーションの総再生時間を取得する
TotalTime = MV1GetAttachAnimTotalTime(ModelHandle, AttachIndex);
// 再生時間の初期化
PlayTime = 0.0f;
//奥行0.1〜1000までをカメラの描画範囲とする
SetCameraNearFar(0.1f, 1000.0f);
//(0,10,-20)の視点から(0,10,0)のターゲットを見る角度にカメラを設置
SetCameraPositionAndTarget_UpVecY(VGet(0, 18, -10), VGet(0.0f, 18.0f, 0.0f));
// 何かキーが押されるかウインドウが閉じられるまでループ
while (ProcessMessage() == 0 && CheckHitKeyAll() == 0)
{
// 画面をクリア
ClearDrawScreen();
// 再生時間を進める
PlayTime += 0.2f;
// 再生時間がアニメーションの総再生時間に達したら再生時間を0に戻す
if (PlayTime >= TotalTime) {
PlayTime = 0.0f;
}
// 再生時間をセットする
MV1SetAttachAnimTime(ModelHandle, AttachIndex, PlayTime);
// 3Dモデルの描画
MV1DrawModel(ModelHandle);
// 裏画面の内容を表画面に反映
ScreenFlip();
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}