プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
弓兵モデル作成30
開発中の弓兵モデル
背中の矢筒にも矢が追加された。ようやくモデリングが完了したらしい。



◎原因調査

前回矢が動かなかった原因を探るため、試しに矢のチェインルートをアニメキーで動かすと、(Softimageでは動きますが)XNAでは無視されました。

やはり、(コンストレイント以前の問題として)XNAにおいてチェインルートは無効であり、親ボーンと子ボーンの相対位置は固定(モーション中に移動不可)ということでしょう。



◎対処策検討

XNAで矢ボーンを動かす方法を検討します。

A案:矢を別モデルとして管理する
 →管理が煩雑になる
 →XNAViewerで2モデル同時再生テストは不可
 →改修してテスト可能とした場合、
  (テスト失敗の度に)改修ミス疑惑が付き纏う

B案:中間ボーンを作成する
 →スケールアニメ不可のため、中間ボーンは2本必要

B案は矢1本に計3本のボーンを必要としますが、A案はいろいろ面倒なので、やはりB案とします。



◎第四の原因

矢ボーン再作成に伴い、キャラクターキーセットを再作成しようとしたら、ボタン名称が「Create Key Set From Deformers」であることに改めて気付きました。

 中間ボーン=エンベロープ未設定ボーン=非デフォーマ

よって、中間ボーンはキャラクターキーセットに含まれず、XNAでアニメが崩れます。

…ボタンに書いてあるのに全然気付かんかった!!(爆)

弓や弦の作成に苦戦した第四の原因と言えるかも(^^;

(HPの注意事項に追記しました)



◎実装

矢ボーンが確定し、XNAで自在に動かせるようになりました。

弓兵モデル作成24   弓兵モデル作成25

スケール無しで矢の動きを実現するため、弓と矢の間に中間ボーンを2つ入れました。

弓と弦はコンストレイントで連動します。しかし矢は発射後の軌跡を考慮するとコンストレイントに不向きなので、手動で調整することにします。



◎矢の追加

矢を2本複製して背中の矢筒に入れたら、XNAで矢の位置がおかしくなりました。あれ?メッシュのセンター位置は調整したけど、まだ何か足りないのかな?

…これは結局、「すべての変換をフリーズ」してエンベロープ再設定すると直りました。複製による影響か、或いは従来の手順が間違ってるのかも(^^;

とりあえず動きはOKになりましたが、XNAでは矢羽が片面しか描画されないようです。

弓兵モデル作成26   弓兵モデル作成27

Softimageでは両面描画されるのに(ーー;



◎両面描画の回避

面を複製して反転すれば両面になりますが、その手法は頂点の無駄遣いという気がします。

他に描画効率を上げる手法が存在するとは思います(シェーダ改修等)が、今回は僅か6面分なので、シンプルに面の複製反転で対応しましょう。

メッシュのセンター位置が原点に移動済のため、オブジェクトの中心に戻してから反転します。

1 メッシュ(矢羽)を複製
2 エンベロープ>エンベロープの削除
3 Transform>センターをバウンティングボックスに移動
4 フリーズ前の回転量の逆算値を加算
5 Transform>回転のフリーズ
6 メッシュ回転(必要に応じて5~6を繰り返す)
7 センター位置を原点に戻す
8 Transform>すべての変換をフリーズ
9 エンベロープ>エンベロープの設定
10 エンベロープ>リファレンスポーズの設定

斜めに傾いた面が反転できず悩みまくりました。上位メッシュの回転量が影響して上手くいかないのかと思い、階層から切断したりChldCompボタンを試したりしましたが、結局メッシュのSRTがフリーズ済であることが原因と判明したので、4~5の手順を追加しました。



◎センターが中心にならない?

前項の手順で、矢2本分の矢羽の面を反転しました。しかし残り1本の矢羽が上手く反転できません。位置が微妙にズレてしまいます。

原因を調べると、(前項手順3で)中心からズレた場所にセンター位置が移動してました。

弓兵モデル作成28

‘センターをバウンティングボックスに移動’機能を利用したのに、何故ズレるかは不明。

3次元座標系で傾いた台形の中心座標を算出するのは面倒なので、既に完成した矢を複製して対処します。

弓兵モデル作成29   弓兵モデル作成30

両面対応完了しました。

それにしても、複製反転するだけでここまで難儀するとはねぇ…XNA連携ややこしすぎます(ーー;



◎次回予告

ようやく弓兵のモデリング&ボーン設定が完了しました。
いや~長かったですね~(^^;

次回は、ちょっと趣向を変えて、三国志軍記と三国志12(or三国志大戦)の共通点と違いについて記述します。

スポンサーサイト

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

コメント

弓兵のモーション

こんにちは。
ちょうど私も弓兵を作成したところなので記事が目につきました。

どうやら弓兵のモーション作成に難航しているようですね。
モーションにこだわる気持ちは分かりますが、作業時間や処理負荷を考慮すると簡単なモーションで十分な場合があります。
細かな武器の動作をつけるよりも、キャラクターの大胆な動きやエフェクトのほうが見栄えが良くなることがあります。

ゲーム画面を見させて頂きましたが、カメラを引いた状態なら分隊から弧を描きながら光の矢が多数飛ぶだけで十分に思えます。
ズームすると画面いっぱいまでキャラクターモデルが表示され、リアルなモーションで動く演出も面白いと思います。
しかし、作業が難航し他の作業に支障をきたすようであれば割り切りも必要です。
ゲームシステムに直結するのでないならばスケジュールの調整をしてみてはどうでしょうか。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

こんにちは

コメントだけでなく動画まで頂きまして、どうもありがとうございました^^

矢を放つ瞬間に非表示とし、エフェクトだけ飛ばすとは…考えたこともありませんでしたが、確かにこの方が見栄えが良いですね。とても参考になります。

…参考になりすぎて、迷いが生じてしまいました(笑)

私の場合は、Softimageで作ったアニメがXNAで崩れることが多く、このままではモデルを外部発注してもXNAで再生する自信が無いので、練習を兼ねてモーションを作成しています。

「練習は必要だ」と思う一方で、「光の矢案で十分だ」とも思いますし、「(ゲームシステムに直結しないので)後廻しでも良いのでは?」とも思います。或いは「簡単なモーションに割り切って、Softimageやめた方が早い?」なんて考えも(^_^;

すぐには結論が出せないので、もう一度よく考えます。貴重なアドバイスどうもありがとうございました。

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。