#module
#defcfunc tofloat double p1
temp = p1
return lpeek(temp)>>29&7|(p1<0)<<31|lpeek(temp,4)-(p1!0)*0x38000000<<3
#global
#uselib "Dxlib.dll"
#define DX_SCREEN_FRONT 0xfffffffc
#define DX_SCREEN_BACK 0xfffffffe
#define TRUE 1
#define FALSE 0
#func SetGraphMode "dx_SetGraphMode" int,int,int,int
#func ProcessMessage "dx_ProcessMessage"
//DXライブラリ関係
#func DxLib_Init "dx_DxLib_Init"
#func DxLib_End "dx_DxLib_End"
//ウインドウ制御関係
#func ChangeWindowMode "dx_ChangeWindowMode" int
#func SetUserWindow "dx_SetUserWindow" int
#func SetUserWindowMessageProcessDXLibFlag "dx_SetUserWindowMessageProcessDXLibFlag" int
//画面制御関係
#func SetDrawScreen "dx_SetDrawScreen" int,int
#func ClearDrawScreen "dx_ClearDrawScreen" int
#func ScreenFlip "dx_ScreenFlip"
//3Dモデル関係
#func MV1LoadModel "dx_MV1LoadModel" str
#func MV1DrawModel "dx_MV1DrawModel" int
#func MV1SetPosition "dx_MV1SetPosition" int,int,int,int
#func MV1SetRotationXYZ "dx_MV1SetRotationXYZ" int,int,int,int
#func MV1AttachAnim "dx_MV1AttachAnim" int,int,int,int
#func MV1SetAttachAnimTime "dx_MV1SetAttachAnimTime" int,int,int
//カメラ関係
#func SetCameraNearFar "dx_SetCameraNearFar" int,int
#func SetCameraPositionAndTarget_UpVecY "dx_SetCameraPositionAndTarget_UpVecY" int,int,int,int,int,int
ChangeWindowMode 1//dxライブラリウインドウモード
SetUserWindow hwnd// dxライブラリで描画するウィンドウを変更
SetUserWindowMessageProcessDXLibFlag FALSE
// 画面モードのセット
// SetGraphMode 640 , 480 , 16 //描画範囲のみでウインドウ画面は変わらず
screen 0,640,480//ウインドウ画面はHSP側で変更しなくてはだめ
DxLib_Init// DXライブラリ初期化処理
SetDrawScreen DX_SCREEN_BACK// 描画先画面を裏画面にセット
MV1LoadModel "miku.mv1"
ModelHandle = stat
MV1AttachAnim ModelHandle,0,-1,0
time=0.0
SetCameraNearFar tofloat(1.0),tofloat(150.0)
repeat 10000
ClearDrawScreen // 画面をクリアする
CamPos.0 = tofloat(0.0),tofloat(0.0),tofloat(0.0)
CamTar.0 = tofloat(0.0),tofloat(0.0),tofloat(30.0)
Posmiku.0 = tofloat(0.0),tofloat(-15.0),tofloat(15.0)
ModelRot.0 = tofloat(0.0),tofloat(0.0),tofloat(0.0)
SetCameraPositionAndTarget_UpVecY CamPos.0,CamPos.1,CamPos.2,CamTar.0,CamTar.1,CamTar.2
MV1SetPosition ModelHandle,Posmiku.0,Posmiku.1,Posmiku.2
MV1SetRotationXYZ ModelHandle,ModelRot.0,ModelRot.1,ModelRot.2
MV1SetAttachAnimTime ModelHandle,0, tofloat(time)
time=time+0.5
MV1DrawModel ModelHandle
ScreenFlip
ProcessMessage
await 17
loop
DxLib_End
このファイルと C#用のDxlib.dllと
DxLibModelViewerでアニメ付きモデルを作って
miku.mv1 でセーブしたのを同じフォルダに置けば動くと思います
ただMV1LoadModelの解説が見れば判りますが
miku.mv1を作るのがちょっと面倒ですね(ファイル名に条件がある)
ファイル名の条件が合えば(miku.pmdとmiku000.vmdを同じフォルダに置く)
MV1LoadModel "miku.mv1"をMV1LoadModel "miku.pmd" にしても動きますね