DXLibのモーションに関して~その2~

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
史上最悪のデスペナ
記事: 521
登録日時: 13年前

DXLibのモーションに関して~その2~

#1

投稿記事 by 史上最悪のデスペナ » 12年前

今回は、モーションの合成について教えてください。

仮に、ですが「棒立ちで剣を振り回すモーション(A)」と「走る(B)」というモーションがあったとします。
単純に「A」と「B」のブレンド比率を変えただけでは足は「棒立ち」と「走る」が混在し、腕は「剣を振り回す」と「走るときの腕振り」が混在してしまいます。

足は走り、腕は剣を振り回すようにするにはどうしたらいいでしょうか?

「走りながら剣を振り回す」というモーションは極力作りたくありません。

追記:3Dゲームを作ろうとしてるので3Dでお願いします
最後に編集したユーザー 史上最悪のデスペナ on 2011年10月12日(水) 08:22 [ 編集 1 回目 ]

アバター
ひよこ
記事: 25
登録日時: 13年前

Re: DXLibのモーションに関して~その2~

#2

投稿記事 by ひよこ » 12年前

2D限定だと思いますが
上半身と下半身を別に計算すればいいのではないでしょうか?


ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DXLibのモーションに関して~その2~

#4

投稿記事 by ISLe » 12年前

ひよこさんの回答とかぶりますけど。
上半身と下半身のモーションに分けて状況に応じて組み合わせを変える必要があります。
要は混在させたくないモーションをブレンド対象から取り除くということです。

「剣を振り回す」モーションの下半身は要らないので、「走る」モーションを二つに分ければ良いです。
「剣を振り回す」モーションは走っているときにも立ち止まっているときにも使い回せます。

フリーソフトでモーションデータを分けるのが難しい場合があるかもしれませんが、どうしようもないので、モデルデータから分割するなど工夫してください。

史上最悪のデスペナ
記事: 521
登録日時: 13年前

Re: DXLibのモーションに関して~その2~

#5

投稿記事 by 史上最悪のデスペナ » 12年前

要するに、走る(上半身)、走る(下半身)、剣を振り回す(上半身)というモーションを作成して
ただ単に走るときは「走る(上半身)、走る(下半身)」を同時に描画し、剣を振り回しながら走るときは「走る(下半身)、剣を振り回す(上半身)」
と描画すればいいのですね?

史上最悪のデスペナ
記事: 521
登録日時: 13年前

Re: DXLibのモーションに関して~その2~

#6

投稿記事 by 史上最悪のデスペナ » 12年前

http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2423
で同じスレッドを立ててありましたが、そちらにこんな内容の書き込みがあったのでお知らせします。

記事No.4(maruoさんの回答)
MV1SetAttachAnimBlendRateToFrame関数がありますよ
http://hpcgi2.nifty.com/natupaji/bbs/pa ... st&no=1586
ここのNo.6

だそうです

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DXLibのモーションに関して~その2~

#7

投稿記事 by ISLe » 12年前

質問者さんもモデルを複製して描画すると思われていたのでしょうか?
ふつうにひとつのモデルに複数のアニメーションをアタッチして合成するのですよ。
合成時にいびつな部分ができるかどうかはアニメーションデータの作り方次第ですね。
デザイナさんの腕の見せ所でしょう。

あくまで個人的な意見ですが、わたしはモデラやアニメーション制作ツールなどの外部ツールで作業が完結する方が効率が良いと思います。
例えば、人体モデルに尻尾や羽根が付いたとしても、同じコードで動かせますから、モデルデータもアニメーションデータも好きなだけ調整できますし簡単に差し替えられます。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: DXLibのモーションに関して~その2~

#8

投稿記事 by ISLe » 12年前

先の回答にも書きましたけど、アニメーションデータを作るときにすべてのフレームを含めないといけないとかいう制限は、(フリーの)アニメーション制作ツールの仕様であって、高価なツールではふつうに一部のフレーム(パーツ)のみを対象としたアニメーションデータを作れます。

アニメーション対象ではないフレーム(パーツ)はブレンド対象にならないので、腕のアニメと脚のアニメのブレンド率がそれぞれ100%でも、腕のアニメと脚のアニメは合成されます。

と思ったのですが、もしかしてDXライブラリではそうならないのでしょうかね。

史上最悪のデスペナ
記事: 521
登録日時: 13年前

Re: DXLibのモーションに関して~その2~

#9

投稿記事 by 史上最悪のデスペナ » 12年前

なるほど。RokDeBone2というフリーソフトを使っているのですが
全部のボーンを入れてアニメーションを作るもんだと思っていました。
そうすると手だけ動かすモーションと足だけ動かすモーションを作って合成すると、手だけ動かすモーションでは足のボーン情報が「動いていない」と認識されているので「動いていない」と「動いている」の合成によって変なことになったのですね。
なら、上半身だけにボーンを入れたもので上半身のモーション、下半身だけにボーンを入れたもので下半身のモーションを作ればいいということですかね?
RokDeBone2には一部のフレームのみを対象としたアニメーションデータを作るという機能は無いように思えるので(すべての機能を把握してるわけではないので不明)。

結果が分かりましたらまたお知らせします。

閉鎖

“C言語何でも質問掲示板” へ戻る