コライダーがアニメーションについてこない

最近Unityをいじっていて困ったことです
コライダーをつけているのだがアニメーションを再生させた時コライダーは移動しないという
問題にぶちあった時の解決策

現象


wizard1

緑のラインが判定(Collider)

お相撲ゲームを作っていてこのキャラクター(ウィザードちゃん)は真上に上昇し真下にエネルギー弾を放つという必殺技を持っている

 

 

 

 

wizard2

必殺技使用時

しかし必殺技を使う画像のように判定だけが置いてきぼりになってしまう。

 

 

 

このままだと空中にいるのに地上からの攻撃を受けてしまうというおかしな状態になってしまうので何とかしたい

解決策


armatureこちらのサイトに全く同じような悩みを抱えた人がいた。
Blender(フリーのモデリングソフト)からインポートする際に色々なファイルが子オブジェクトとしてついてくるらしい(実際についてきてた)

 

 
その小オブジェクトのなかからアニメーションを再生hipさせた時座標が変化しているものに判定をつけてあげればOK

 

 

wizard_hip

hipにcolliderを適応

今回の場合Wizard/Armature/hipのhipの座標が変数になってたためこちらにコライダーを当てたところ・・・

 

 

 

 

 

 

wizrd2_hip見事判定そのものを引き継いでアニメーションをしてくれた

 

 

 

 

まとめ


今回は結構重要なところだったので同じミスに陥った人がブログをやっていて助かった。
子オブジェクトのコライダーの判定はそのまま親オブジェクトの判定でもあるからしばらくはこのままで行こうと思っている。
しかしhipに適応させた瞬間判定が斜めになってしまったのはなんでだろうか\
一応Unity側ではオブジェクト自体は斜めにはなっていないはずなんだけど・・・・

 

 

 

 

 

 

 

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中