いろいろと試している所なんですが、
改めて難しいと感じる今日この頃でっす。
ようやく動きも出来てきたのですが、
アニメーションで作った、アンドロイド君を動かせるように
試行錯誤していて気付いたというか、知らないというか…
Colliderってどうやって設定するの?って事です。
(;^o^) \(ToT )今更かよ!
初心者本や説明サイトを見ていると
キャラ全体にColliderが設定してあります。
手や足が動かせるので、大まかに設定するより
パーツ単位で設定する方が、いろいろとよさそうな感じなんで、
Colliderの設定を考えてみたいと思います。
まず、本などでよく見かける設定方法を

親になる胴体でColliderを設定しました。
正直、手や足の稼働範囲を考えると、こんな感じになります。
しかし、これでは折角の手足の動きが自由になってるのに
使えないのが残念になります。
また、スライディングを考えているので、寝かせてみると…

Colliderだけ置いてけぼりになります。(T-T) グスッ
これでは意味がないので、パーツ毎にColliderを設定します。

試しに、左腕にColliderを設定してみました。
この状態で腕を動かすと

やはりColliderが置いてけぼりになります。(T^T) ヒック
稼働範囲のColliderを設定するしかないのでしょうか…
Colliderが付いてこないってのをネットでも見かけたのですが、
作ってある物がある限り絶対できるはずです。
徹底的に検証でっす。ヽ(`⌒´)ノ ウッキー
いろいろ試してみて分かったのですが、
Colliderは、設定したオブジェクトに連動するって事です。
回転軸が設定されてる場合、
回転軸になるオブジェクト…
そうです。Boneです。
これに設定すれば連動するはずです。
もう一度、腕用にColliderを設定してみます。

左腕の各BoneにCapsuleColliderをアタッチしてみました。
ターゲットを動かしてみると

Colliderも無事に付いてきてくれますヽ(´▽`)/~♪
PolygonColliderでも

SpriteRendererのメッシュが変形するのでズレが若干おこりますが、
付いてきてくれます。
これで各手足が自由に使えるようになりそうです。
早速、Bone単位でColliderを設定していきます。

設定するのが面倒ですが、これでColliderが連動します。
早速、アニメーションと連動させてみます。

無事に床の上で走ってくれてます。
これでモーションが設定できるって事でジャンプを導入してみます。
上手くジャンプ出来て…
あれ?なにかが変

状況を確認してみると
足にColliderを設定しているので、走る動作は沈み込みが起こります。
沈み込み時と伸びてる時では、ジャンプの高さが変わってしまっています。
ジャンプの高さを一定にする為には、
安定したColliderのY座標が必要になります。
更に、Rayを足元に設定しているので、沈み込み時には
床に深く潜るので、ジャンプで抜け切るまでは、床に接触してると
判断される為、ジャンプ時のアニメーションの切り替えが呼び出されません。
足に設定したColliderですが、動作が不安定になると意味がないので、
足元だけColliderを変えて対応してみます。
まず胴体は上下動するので安定しないので、
空オブジェクトを用意して、胴体をその中に入れます。
この親オブジェクトにBoxCollider2DとRigidbody2Dを追加します。
胴体にアタッチしていたRigidbody2Dを削除して、
キャラクター本体を、この親オブジェクトに切り替えます。

親オブジェクトをアンドロイドにリネームしています。
BoxColliderは、足元に薄く張っておきます。
足元のBoxColliderより足が下に出ると、上下動が起こるので
伸ばした状態で高さを揃えておくと安定します。
これでジャンプが安定して、ジャンプモーションのアニメーションも
無事呼び出す事ができました。
折角の足のColliderですが、足元が安定しないと使えない事が分かりました。
これも用途に合わせて考える必要があるって事ですね~ ( ̄~ ̄;) ウーン
Colliderって、意外と奥が深いでっす。
しかしスライディングを考えているので、このColliderだと問題もあります。
この辺りの修正案を考える必要が出てきました。
なかなか進まないモーションの処理なんですが、
カメ進行で作っていこうと思うので、しばらくはこんな感じの記事になりそうです。
(°-°;)ヾ(-_- ;) シモシモ・・
アクション系のヒントにでもなれば幸いかと思います。
それではこのへんで (TωT)/~~~ BYE BYE
この記事へのコメント