ジョイント(Joint)の種類と使い方

ここではジョイント(Joint)の種類とその使い方について説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

ジョイント(Joint)とは?

ジョイントは、リジッドボディを持つオブジェクト同士を繋ぐことができる機能です。これを使うと、例えば次のようなゲームオブジェクトを作ることができます。

  • ドア
  • バネのついたおもり

ジョイントの種類

Unityのジョイントにはいくつか種類があります。主なジョイントは次の3種類です(※他にも何種類かあります)。

  1. ヒンジジョイント(Hinge Joint)
  2. スプリングジョイント(Spring Joint)
  3. 固定ジョイント(Fixed Joint)

ヒンジジョイント(Hinge Joint)

ある軸を基準に回転するような繋がり方をするジョイントです。ドアや鎖などを再現するのに使えます。

Hinge Jointの動き

ヒンジジョイントの設定項目

詳細については公式マニュアルの「Hinge Joint」のページを参照してください。

スプリングジョイント(Spring Joint)

バネで繋がれたような動きをするジョイントです。

Spring Jointの動き

スプリングジョイントの設定項目

詳細については公式マニュアルの「Spring Joint」のページを参照してください。

固定ジョイント(Fixed Joint)

オブジェクト間を固定して繋ぐジョイントです。親子関係のあるゲームオブジェクトと同じような動きをします。

Fixed Jointの動き

固定ジョイントの設定項目

詳細については公式マニュアルの「Fixed Joint」のページを参照してください。

ジョイントの使い方

ではジョイントの設定方法を見ていきましょう。ヒンジジョイントやスプリングジョイントは、上手く設定しないとゲームオブジェクトが暴れるような挙動をする場合があるので注意しながら設定を行ってください。

ここでは例として、ヒンジジョイントを使って下のような動きをするゲームオブジェクトを作っていきます。

Hinge Jointを使った例

手順は次の通りです。

  1. リジッドボディを持ったゲームオブジェクトを用意する
  2. 各オブジェクトにヒンジジョイントをアタッチする
  3. ヒンジジョイントに接続先のリジッドボディを設定する

リジッドボディを持ったゲームオブジェクトを用意する

まず、ジョイントを使うためにはリジッドボディが必要なのでそれを持ったゲームオブジェクトを用意します。ここでは新しくCubeを3つ作り、適当に並べてからリジッドボディをアタッチしておきます。

なお、今回は一番上のCubeは固定しておきたいので「Is Kinematic」にチェックを入れておいてください。

各オブジェクトにヒンジジョイントをアタッチする

そうしたらそれぞれのCubeにヒンジジョイントをアタッチしていきます。設定はそのままで構いません。

ヒンジジョイントに接続先のリジッドボディを設定する

最後にヒンジジョイントのコンポーネントに接続先のリジッドボディを設定します。「Connected Body」のところに次のように設定します。

  • 一番上のCube:なし
  • 真ん中のCube:一番上のCubeのリジッドボディ
  • 一番下のCube:真ん中のCubeのリジッドボディ

これで設定が完了しました。ゲームを実行し、一番上のCubeを動かして動きを確認してみてください。