[UNITY]オブジェクトを結合する。

寒くなりましたね、唇が切れてイタイイタイのえんちゃなのであった

今回は、オブジェクトとオブジェクトの結合を解説しようと思います。
SASUKEチックなステージを作りたくて、ハンマーを作ろうとしたときに、この問題にぶち当たりました。

まずこのハンマーですが
トーラスと円柱2つでできています。

上からトーラス、円柱1、円柱2とします。
やりたいことは円柱2を円柱1に固定、円柱1をトーラスに固定、トーラスを空中に固定する(回転は出来る)。の3つです。
全部に AddComponent > Physics > Rigid body を追加しておきます。

まず完全に固定する場合ですが
インスペクタの AddComponent > Physics > Fixed Joint を行います。

以下、Fixed Joint のパラメータ

  • ConnectedBody  どのオブジェクトに接続させるかを指定します。 円柱2は円柱1に、円柱1はトーラスを指定します。何も指定しないと、空中に指定されます。
  • Break Force  どのくらいの強さを与えたら連結が解除される(ぶっ壊れる)か指定します。今回は連結が解除され(ぶっ壊れ)ないので、Infinityを指定します。
  • Break Torque どのくらいのトルクを与えたら連結が解除されるか指定します。今回は連結が解除されないので、Infinityを指定します。
  • Enable Collision オンのとき、接続した同士で衝突が起こります。鎖とかのときに使うのかな今回は衝突しないのでオフを指定します。
  • Enable Preprocessing  処理しきれないような力を加えたときに、なんとか安定性を保とうとします。オンを指定します。下の図はEnable Prepocessingをオンとオフの状態のオブジェクトにものすごく力を加えたときの状態を比較したものです。

これで固定が行われました。

最後にトータスの固定です。
トータスは回転させなくては行けないので、 Fixed Joint ではなく Hinge Joint を使います。
次にHinge Joint(ヒンジジョイント)です。ヒンジは蝶番の意味です。
位置的には固定するけど、回転は行えるイメージです。

詳細はこちら、このサイトでは今回の仕様に必要な箇所だけ書いていきます。
Hinge Joint

  • Connected Body  指定なしで、空中に固定されるので、指定なしにします。
  • Anchour  回転軸を指定します。
  • Axis    回転方向を指定します。画面に表示された矢印を回ります
  • Auto Configure Connected Anchour  軸を自動的に指定します。今回、ただの回転運動なので、AnchourとConnectedAnchourは同じ位置です。なので今回はチェックをつけるだけで下のConnected Anchorを自動的に入力してくれます。

  • Break Force  どのくらいの強さを与えたら連結が解除される(ぶっ壊れる)か指定します。今回は連結が解除され(ぶっ壊れ)ないので、Infinityを指定します。
  • Break Torque どのくらいのトルクを与えたら連結が解除されるか指定します。今回は連結が解除されないので、Infinityを指定します。
  • Enable Preprocessing   処理しきれないような力を加えたときに、なんとか安定性を保とうとします。オンを指定します。下の図はEnable Prepocessingをオンとオフの状態のオブジェクトにものすごく力を加えたときの状態を比較したものです。

以上で完成です。またSASUKEに近づきました。
また、これでチェーンやシーソー、ドアなど、いろいろと使えそうです。
興味ある方はぜひ作ってみてください

コメント

タイトルとURLをコピーしました