トップページ > 記事閲覧
DxLibModelViewerの追加モデル読み込みについて
名前:Deiv 日時: 2024/07/23 16:31

お世話になっております。 DxLibModelViewerについてですが、ベースモデルに対し追加モデル読み込みでモデルに武器を持たせました。 Viewer内ではアニメーションの再生等が出来るのですが、名前を付けて保存をした際にモデルのみしか保存が出来ません。 どのようにすればベースモデルと追加モデルをまとめて保存できますでしょうか? お手すきの際にご回答いただけますと幸いです。
メンテ

Page: 1 |

Re: DxLibModelViewerの追加モデル読み込みについて ( No.1 )
名前:管理人 日時:2024/07/23 22:45

すみません、DxLibModelViewer の『追加モデル読み込み機能』は見た目を確認するだけで ベースモデルと追加モデルを合体させたデータとして保存することはできません 申し訳ありませんがモデルを別々に読み込み、『サンプルプログラム 3Dアクション基本+ 装飾物をキャラクタに付ける』のサンプルで行っている方法で表示してください m(_ _;m <サンプルプログラム 3Dアクション基本+装飾物をキャラクタに付ける> https://dxlib.xsrv.jp/program/dxprogram_3DAction_ObjAttach.html
メンテ
Re: DxLibModelViewerの追加モデル読み込みについて ( No.2 )
名前:Deiv 日時:2024/07/25 15:45

ご返信ありがとうございます。 サンプルプログラムの通りにプログラムを組んだ所、恐らくベースモデルに追加モデルを付けることが出来ました。 ですが追加モデルのサイズが変更できず、MV1SetScaleで値を小さくしてもサイズが大きいままでした。 こちらに関しまして、何か改善方法等ございましたらご教授いただければと思います。
メンテ
Re: DxLibModelViewerの追加モデル読み込みについて ( No.3 )
名前:管理人 日時:2024/07/26 03:06

すみません、MV1SetMatrix を使用する場合は MV1SetScale は無効化されてしまうので、 MV1SetMatrix でセットする行列にスケーリングの効果を入れる必要があります 件のサンプルの例で言えば、SetModelFramePosition 関数の中の以下の部分を MV1SetMatrix( SetModelHandle, FrameMatrix ) ; 例えばこのようにすることでサイズを半分にすることができます MV1SetMatrix( SetModelHandle, MMult( MGetScale( VGet( 0.5f, 0.5f, 0.5f ) ), FrameMatrix ) ) ; 少し解説しますと、MMult は第一引数の行列と第二引数の行列を乗算する関数です そして第一引数には MGetScale という『スケーリング行列を取得する関数』で x, y, z が全部 0.5f の、 つまりサイズを半分にする引数を渡していますので、乗算するとサイズが半分になる行列が MGetScale の 戻り値となり、それが MMult の第一引数となっています 第二引数には FrameMatrix が渡されていますので、サイズを半分にする行列と FrameMatrix の行列が 掛け合わされ( 乗算され )、それが MV1SetMatrix に渡されているので、結果としてベースモデルの 特定のフレーム( ボーン )にアタッチされつつサイズが半分になります MGetScale( VGet( 0.5f, 0.5f, 0.5f ) ) ↑ こちらの部分の 0.5f, 0.5f, 0.5f の部分をご希望のスケール値にしていただくことで MV1SetScale の代わりとなりますので、よろしければお試しください m(_ _)m
メンテ
Re: DxLibModelViewerの追加モデル読み込みについて ( No.4 )
名前:Deiv 日時:2024/09/01 13:46

ご返信遅くなり申し訳ございません! 無事にベースモデルに追加モデルを任意のサイズで持たせることが出来ました! 今の所アニメーションでもしっかり動いていたので良かったです。 ありがとうございます。
メンテ
Re: DxLibModelViewerの追加モデル読み込みについて ( No.5 )
名前:Deiv 日時:2024/10/24 10:38

再度質問失礼致します。 こちらの追加モデルについてですが、サイズを変えつつ角度を調整することは可能でしょうか? 内容としては、プレイヤーに銃を持たせたいが銃口が上を向いており角度を調整したいというものです。 お手すきの際にご確認いただけますと幸いです。
メンテ
Re: DxLibModelViewerの追加モデル読み込みについて ( No.6 )
名前:管理人 日時:2024/10/25 02:08

> こちらの追加モデルについてですが、サイズを変えつつ角度を調整することは可能でしょうか? はい、可能です 件の MV1SetMatrix の部分を以下のようにすると回転もできます ( 下記の例では Y軸 に 90度回転とサイズを 0.5倍にしています ) MATRIX RotateMatrix ; CreateRotationXYZMatrix( &RotateMatrix, 0.0f, 3.14159f / 2.0f, 0.0f ) ; MV1SetMatrix( GunModelHandle, MMult( MMult( RotateMatrix, MGetScale( VGet( 0.5f, 0.5f, 0.5f ) ) ), FrameMatrix ) ) ; MMult で回転の行列と拡大の行列を掛け合わせます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存