HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0123
変人HSPでPMXデータの表示と、モーション等の使用4未解決


変人

リンク

2016/1/23(Sat) 14:30:04|NO.74249

タイトル通りです

前にそのようなプラグインを見つけた気出したのですが、かなり前で検索しても見つかりませんでした

したいことは、PMXモデルの表示とモーションの適用です



この記事に返信する


変人

リンク

2016/1/23(Sat) 14:34:16|NO.74250

追記
できればもーふの調整とかもできますか?



kanamaru

リンク

2016/1/23(Sat) 15:10:19|NO.74252

DXライブラリで読み込めるようです。
hspでDXライブラリを使うのは大変だったような気がしますが。



変人

リンク

2016/1/23(Sat) 15:12:54|NO.74253

あぁ・・・あれですか

確かにあれ複雑でしたね



k

リンク

2016/1/25(Mon) 00:49:11|NO.74290


#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" にしても動きますね



ONION software Copyright 1997-2023(c) All rights reserved.