トップページ > 記事閲覧
モーション再生について
名前:north 日時: 2014/10/29 00:34

お世話になっております。 下記のサイトを参考にDXライブラリを使用してモーション再生のプログラムを自分なりに組んでみたのですが、モーションが再生されず どこが原因なのかわからず困っております。 参考にしたサイト ttp://i-libro.net/wpmu/blog/archives/876 また、コードを記載すると長くなるため下記のサイトに プロジェクトをアップいたしました。 ttp://firestorage.jp/download/3990ea847567acf50835595f09ea579e014459d9 モーション再生についてあまり知識がなく自分なりに組んではみたのですがどこが原因かわからず困っております。どうかよろしくお願い致します。 下記のサイトでも同じ質問をしております。 ttp://dixq.net/forum/viewtopic.php?f=3&t=15895
メンテ

Page: 1 |

Re: モーション再生について ( No.1 )
名前:管理人 日時:2014/10/30 00:37

C言語何でも質問掲示板の方でお話が進んでいるようですので、こちらでのご返信は控えます
メンテ
Re: モーション再生について ( No.2 )
名前:north 日時:2014/10/30 01:27

お忙しい中ご返信ありがとうございます。 掲示板の方でご指摘された点を基にモーションのクラスとモデルのクラスを統一し修正してみたのですが、今度はモデルが表示されなくなり、座標は変数を見る限りはわたっている感じなのですがなぜそうなったのか原因がわからない状態です。 修正したものをアップいたしましたのでよろしければ一度見ていただけないでしょうか? ttp://firestorage.jp/download/797fa150b199a3da5e5d2069fd01eed0f4fff206 お忙しい中申し訳ありませんがどうかよろしくお願い致します。
メンテ
Re: モーション再生について ( No.3 )
名前:管理人 日時:2014/10/31 00:24

アップしていただいたファイルをダウンロードさせていただきました 中に Sample と GameProg の二つのフォルダがあるのですが、どちらを拝見すれば良いのでしょうか?
メンテ
Re: モーション再生について ( No.4 )
名前:north 日時:2014/10/31 00:33

GameProgの方をお願い致します。 上記でありましたモデルが表示されないバグにつきましてはModel.cppの146行目のMV1SetPositionのコメントアウトを外し、 MV1SetPosition(model, tPlayerParam.PlayerPos); と修正することで表示されるようになりました。 しかし肝心のモーションが初期のポーズのまま止まった状態で再生されずこのバグだけ原因がわからず困っております。お忙しい中申し訳ありませんが、どうかよろしくお願い致します。
メンテ
Re: モーション再生について ( No.5 )
名前:north 日時:2014/11/01 02:12

モーションが再生されないバグですがこちらも無事に解決いたしました。 ここで新たな質問なのですが、モーション再生した際にモデルが勝手に座標移動をしてしまうのですが、これを無効にする方法はありますでしょうか?またモーション再生にあった適切な移動値を出す方法はございますでしょうか? 下記に修正いたしましたプロジェクトをアップいたしました。 ttp://xfs.jp/u01DZ4 お忙しい中申し訳ありませんがよろしくお願い致します。
メンテ
Re: モーション再生について ( No.6 )
名前:管理人 日時:2014/11/01 12:16

> モーション再生した際にモデルが勝手に座標移動をしてしまうのですが、これを無効にする方法はありますでしょうか? MV1SetFrameUserLocalMatrix で無効にすることができます northさんがアップされたプログラムでは、Model.cpp の CModel::InitAnime関数 の model = MV1DuplicateModel(srcmodel); の次の行に以下の内容を入れると無効化できます MV1SetFrameUserLocalMatrix( model, MV1SearchFrame( model, "全ての親" ), MGetIdent() ); MV1SetFrameUserLocalMatrix はモデルデータに設定されているフレーム( ボーン )の変形行列の代わりに 第三引数に渡す行列を使用するというもので、第三引数に渡している MGetIdent の戻り値で取得できる行列は 『何も変形しない行列』なので、それを『全ての親』フレーム( ボーン )に設定することで 『全ての親』フレーム( ボーン )にアニメーションで設定されている移動値を無効化することができます > またモーション再生にあった適切な移動値を出す方法はございますでしょうか? MV1GetAttachAnimFrameLocalPosition で移動値が設定されているフレーム( ボーン )の座標を取得して、 モデルの座標に反映させることでアニメーションで設定した移動値をモデルの移動値とすることができます サンプルを作成しましたので、よろしければご覧ください http://homepage2.nifty.com/natupaji/DxLib/program/dxprogram_AnimationMove.html
メンテ
Re: モーション再生について ( No.7 )
名前:north(解決) 日時:2014/11/01 19:39

>管理人様 お忙しい中サンプルまでご用意してくださりありがとうございます。モーションの座標移動の無効化につきましては無事にできました。適切な移動値の算出につきましてはサンプルを見ながら組んでいきたいと思います。 またわからないことがありました際はどうかよろしくお願い致します。
メンテ

Page: 1 |

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

   クッキー保存