今回はRelative Joint2Dの解説をします。
先に言っておくと、Fixed Joint2Dとは全然違う代物でした。
#Relative Joint2Dとは
Relative Joint2Dとは、オブジェクトどうしの相対位置や相対角度を保とうとするジョイントのようです。相対関係を保とうと頑張りますが、常に保つことはできない感じです。
また、このジョイントの継承元はAnchored Joint2DではなくJoint2D
なので、Distance Joint2DやFixed Joint2Dとは違い、アンカーがありません。
#Relative Joint2Dの各パラメータ
今回も多少省いて解説していきます。
###・Max Force
このオブジェクトに与えることができる最大の力を決めるパラメータです。相対位置を保とうとする力でもあるので、ここの値が高くなるとオブジェクトが動きにくくなります。
ちなみにBreak Forceがこのパラメータより高い値だと、破壊することができなくなるので注意してください。
###・Max Torque
このオブジェクトに与えることができる最大の回転力を決めるパラメータです。相対角度を保とうとする力でもあるので、ここの値が高くなるとオブジェクトが回りにくくなります。
ちなみにBreak Torqueがこのパラメータより高い値だと、破壊することができなくなるので注意してください。
###・Correction Scale
この値はよく分かりませんが、挙動がおかしいときにここの値をいじってみると改善されるのかもしれません。
Unityマニュアルには、Max ForceとMax Torqueと何らかの関係性があるような感じで説明されていました。
###・Auto Configure Offset
ここのチェックボックスにチェックを入れると下の2つのOffsetに自動的に値が入ります。
下の2つのOffsetの値を決めるのが面倒であれば使うことをオススメします。
###・Linear Offset
アタッチされたオブジェクトとの相対位置を決めるパラメータです。
値はアタッチされたオブジェクトのローカル座標になります。
何もアタッチしていなければワールド座標になります。
###・Angular Offset
アタッチされたオブジェクトとの相対角度を決めるパラメータです。
ここの角度の表し方は**弧度法
という一般ではあまり使われない表し方をするので注意してください。
一般的によく使われる「360°」で表されるアレは六十分法
**という表し方です。
ここに六十分法と弧度法の関係をいくつか紹介します。
1°=π/180≒0.01745334
2°=π/90≒0.03490667
45°=π/4≒0.7853981
90°=π/2≒1.570796
180°=π≒3.141593
360°=2π=0
よく見ると、弧度法も角度が倍になれば数値も倍になっていることが分かるでしょうか。
弧度法も六十分法と同じく直線的に大きくなっていくので、そこまで難しい表し方ではありません。
一番最後の*360°=2π=0
は、360°が0°なのと同じく2πも0と同じ、つまり一周したということです。
ちなみにこのパラメータは時計回りなので、実際には90°=-π/2≒-1.570796
*という風になります。
#使い道
Unityマニュアルにはアイテムやカメラを追従させる等に使えると書いていました。
このジョイントの最大の利点は決められた位置から離れられる
ことであり、それによってより自然な動きでプレイヤーなどの動くものを追いかけられるところです。
なので、そういう追いかけさせたいものに使うといいかと思います。
注意点として、オブジェクトが決められた位置から離れると、両方のオブジェクトが引っぱり合うので、追いかけさせたいオブジェクトの質量は軽くしておく
方がいいかと思います。
#おわりに
はじめはPhisics2Dについて勉強したくて、記事はついでのつもりだったんですが、最近は記事を書くために勉強してる感じになっています。でも記事を書くのは割と楽しいし、前よりPhisics2Dの魅力をより感じられるようになった気がするので結果オーライって感じですね。
次回はFriction Joint2Dについての記事を書きます。