スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「 装備品 切り替え3Dモデル」 の作り方 ~概要~

今日は、装備品を切り替えられる3Dモデルの作り方
書いてみようと思います。

--------------------------------------------------------------------------
実はもう、自分が前々から制作している
スキンメッシュアニメーションを表示させるクラス群は完成に近い状態にあります。

DXライブラリみたいに、ハンドルを渡して描画したり出来る 便利な関数群の制作
およびそれらのデバッグが主な作業となるでしょう。

そして、9月中に企業へのプログラミングの提出課題として出せるようにする予定です。
--------------------------------------------------------------------------

では、 切り替え可能3Dモデルについて。

RPGなんかだと良くありますよね。
装備品を変えると、主人公の持ってる装備品の3Dモデルだけ切り替わる
みたいな。

コレ、実装の仕方は簡単です。
要するに、
-------------------------------
【1】主人公の3Dモデル
【2】装備品の3Dモデル

-------------------------------
この2つをバラバラに用意して、
座標変換行列で同じ場所に合体させて表示させるだけです。


【参考画像】
Skin_System8.jpg

このまま、主人公の3Dモデルだけスキンメッシュアニメーションさせると、
当然、武器が宙ぶらりんになります。

じゃあどうすれば良いか?と言うと、
同じ行列をかけ続ければ良いのです。

武器を持っている = 手と武器の相対位置が変化しない
という事です。

例えば、腕を90度曲げたとしましょう。
(つまり、90度回転する座標変換行列をかける)

この時、装備品の3Dモデルに対しても90度回転する行列をかければ
手に持っているように見えます。

【参考画像】
Skin_System9.jpg

終わり。
これだけです!

手順としては、こんな感じ。
-----------------------------------------------------------------------------------
【1】主人公のモデルの作成
【2】装備品のモデルの作成
(合体させた時に、主人公の手の位置に来るようにしておく)
【3】主人公のモデルを変形させる行列を、装備品にもかけ続ける
-----------------------------------------------------------------------------------

実際にプログラムで動かせたら、
その時に画像でも添付しようかなーと思います。

あ、あとスキンメッシュアニメーションは理解したんですけど、
インバース・キネマティクスとやらと、
物理演算による3Dモデルの変形
やった事がない(理解してない)ので、時間があればコレらにも挑戦したいなと思います。

前者は、動かしたい位置を決めて、その位置からモデルの姿勢を逆計算して求める
みたいなヤツです。

50cmの段差に乗る場合、乗る予定の段差の位置から
足の角度、姿勢などを計算して、3Dモデルを変形させる、みたいな。
コレだと、 30cm、10cmの段差の場合のアニメーション等を一々別に用意しなくて良くなります。

後者は、スカートとかマントとか、そういったヒラヒラ動くやつの
アニメーションを一々定義する必要がなくなります。

(物理演算で、柔軟に、自然に動く)
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。