0:00:00.290,0:00:02.921 Unity における基本的なジョイント(Joint)をみて行きます。 0:00:03.545,0:00:05.545 このサンプルでは Fixed Joint および 0:00:05.545,0:00:07.296 Spring Joint があります。 0:00:07.616,0:00:09.945 このサンプルでは 鉄球 (wrecking ball) を 0:00:09.945,0:00:11.505 構成してます。 0:00:12.597,0:00:14.667 最初は Fixed Joint をみていきます。Fixed Joint は 0:00:14.667,0:00:16.862 階層の中で 0:00:16.862,0:00:18.358 親子関係を作成するのに似ています。 0:00:18.358,0:00:20.358 ジョイントによりゲームオブジェクトを 0:00:20.358,0:00:22.358 ワールド空間座標の点または 0:00:22.358,0:00:23.701 接続された Rigidbody に対してロックします。 0:00:23.701,0:00:26.282 このサンプルでは chain の最初の capsule を 0:00:26.282,0:00:28.282 天井の側に配置して 0:00:28.282,0:00:30.657 Fixed Joint をアタッチしています。 0:00:30.657,0:00:32.266 これによりその場所にロックされます。 0:00:32.266,0:00:34.266 この Fixed Joint の他のパラメータは 0:00:34.266,0:00:36.266 Break Force および Break Torque です。 0:00:36.266,0:00:38.266 これは ジョイントを壊すために 0:00:38.266,0:00:39.846 必要な最小の力を表します。 0:00:39.846,0:00:41.846 ジョイントが破壊されたときゲームオブジェクトは 0:00:41.846,0:00:43.846 再び自由に移動出来るようになります。 0:00:44.346,0:00:46.166 chain の他の capsule は 0:00:46.166,0:00:48.929 Spring Joint があります。Spring Joint は 0:00:48.929,0:00:50.929 ゲームオブジェクトがターゲット位置に到達しようとするという 0:00:50.929,0:00:52.929 原理にもとづいています。 0:00:52.929,0:00:54.929 到達しようとするターゲット位置は 0:00:54.929,0:00:56.929 シーンビューでセットされた位置であり、 0:00:56.929,0:00:58.929 そこにアタッチされたすべての Rigidbody は 0:00:58.929,0:01:00.929 特定のアンカー位置 (anchor point) にアタッチされた 0:01:00.929,0:01:02.846 透明の Spring により 0:01:02.846,0:01:04.046 引っ張られていきます。 0:01:04.046,0:01:06.256 もし Spring Joint に接続された Rigidbody がある場合 0:01:06.256,0:01:08.435 Spring が到達しようとするターゲット地点は 0:01:08.435,0:01:10.616 ワールド空間に対してではなく 0:01:10.616,0:01:13.172 ゲームオブジェクトに対する相対的な位置です。 0:01:13.437,0:01:16.335 例えば、ここで二つめの capsule は 0:01:16.335,0:01:19.639 capsule 1 に到達しようとしていて、capsule 3 は 0:01:19.639,0:01:21.639 capsule 2 に到達しようとしています。 0:01:21.639,0:01:23.639 これらが動くにつれて、もはや元の位置に 0:01:23.639,0:01:25.639 向かうことはなく、むしろ 0:01:25.639,0:01:27.639 それらの capsule がある位置に 0:01:27.639,0:01:30.053 向かっていきます。 0:01:30.053,0:01:32.598 anchor とは joint のピボット地点です。 0:01:32.598,0:01:34.598 ゲームオブジェクトに spring をアタッチした 0:01:34.598,0:01:36.237 場所としてとらえるべきです。 0:01:36.237,0:01:38.237 これはシーンビュー上で 0:01:38.237,0:01:40.237 オレンジ色の点線またはボックスとして表示されます。 0:01:40.237,0:01:42.237 spring パラメータは spring 強度に関する 0:01:42.237,0:01:44.237 指標です。値が大きいほど 0:01:44.237,0:01:46.248 spring がきつくなったり、強くなったり 0:01:46.248,0:01:48.248 します。damper パラメータにより 0:01:48.248,0:01:50.248 joint が移動するときにどれぐらい 0:01:50.248,0:01:52.591 減速するかを決定します。数字が大きいほど 0:01:52.591,0:01:54.508 spring は跳ねすぎるようになります。 0:01:54.508,0:01:56.661 min および max distance は 0:01:56.661,0:01:58.661 spring が有効でない領域を決めるために 0:01:58.661,0:02:00.924 あります。これらは 要するに Spring の 0:02:00.924,0:02:02.260 長さを制限します。 0:02:02.260,0:02:04.260 Fixed Joint と同様に Spring にも 0:02:04.260,0:02:07.032 Break Force および Break Torque があり、 0:02:07.032,0:02:09.032 特定の数値 にセットすることで 0:02:09.032,0:02:10.879 Joint を壊すために必要な最小の力を 0:02:10.879,0:02:12.446 決められます。 0:02:12.946,0:02:14.628 最後に、 Hinge Joint です。 0:02:14.628,0:02:16.628 Hinge Joint は ドアなどに理想的であり 0:02:16.628,0:02:18.628 Spring Joint といくつかのプロパティを 0:02:18.628,0:02:20.628 共有します。 Hinge の Axis は 0:02:20.628,0:02:22.960 これが回転する軸となるものです。 0:02:22.960,0:02:24.960 このサンプルでは physicsDoor は 0:02:24.960,0:02:27.389 Hinge Joint がアタッチされています。Anchor は 0:02:27.389,0:02:29.753 X 軸で 1 にセットされていて、 0:02:29.753,0:02:31.865 この中心から端に移動させます。 0:02:31.865,0:02:33.865 再び Joint は Unityの中でオレンジ色で 0:02:33.865,0:02:36.813 表現されていて、Hinge が現在ある場所を示す小さな線を 0:02:36.813,0:02:39.271 確認することが出来ます。 0:02:39.271,0:02:41.271 Axis によって、 0:02:41.271,0:02:44.489 どの軸を Hinge がピボットするか指定できます。 0:02:44.489,0:02:46.489 これを Y 軸にすることでシンプルなスクリプトにより 0:02:46.489,0:02:49.435 現実世界のちょうつがいのようの動作するようにしています。 0:02:49.435,0:02:50.794 ドアに対して Force を適用することで 0:02:50.794,0:02:52.627 クリックしたとき、 Z 軸の方向に 0:02:52.627,0:02:54.627 押すことが出来て、 0:02:54.627,0:02:57.634 負の方向の transform.forward をショートカットとして使用します。 0:02:58.134,0:03:00.134 Add Force レッスンにより、 0:03:00.134,0:03:02.875 ドアをフレームから外にふきとばすところをみました。 0:03:02.875,0:03:05.054 しかし、今回は Hinge があることにより 0:03:05.054,0:03:07.054 ドアに Force を適用するとき 0:03:07.054,0:03:09.638 その地点を中心にピボットするようになります。 0:03:09.638,0:03:11.638 そして何回 Force を加えようとも 0:03:11.638,0:03:13.638 壊れることがありません。 0:03:16.044,0:03:18.044 Spring Joint と同様にして 0:03:18.044,0:03:20.561 Spring のような特性を適用するためには 0:03:20.561,0:03:23.151 Spring チェックボックスを使用して 0:03:23.151,0:03:26.185 さらに Spring 設定の下にある値を使用します。 0:03:26.685,0:03:28.449 Hinge Joint および Spring Joint の他の違いは 0:03:28.449,0:03:30.959 Motor および Limit です。 0:03:30.959,0:03:33.236 Motor は Joint に Velocity をつけるための 0:03:33.236,0:03:36.002 ものであり、例をあげると回転ドアになります。 0:03:36.237,0:03:38.558 Target Velocity は Joint が回転しようとする 0:03:38.558,0:03:40.558 Velocity であり、 0:03:40.558,0:03:43.651 Force を使用してその Velocity に到達しようとします。 0:03:44.151,0:03:46.672 もし Free Spin 画チェックされた場合 Force は 0:03:46.672,0:03:48.574 Joint を加速しようとするためのみに使用されて 0:03:48.574,0:03:51.137 減速されるためには使用されません。 0:03:51.137,0:03:53.412 Limit を使用して Joint の動作を制限することが必要な場合に 0:03:53.412,0:03:55.412 使用することが出来て、例えば普通のドア 0:03:55.412,0:03:57.412 みたいなものです。 Minimum および Maximum は 0:03:57.412,0:03:59.620 Joint が移動できる角度です。 0:03:59.620,0:04:02.355 Min および Max Bounce は Joint が 0:04:02.355,0:04:04.355 どれかの Limit に到達したときに 0:04:04.355,0:04:06.730 の跳ねる (Bounce) ことが出来る量です。 0:04:06.730,0:04:08.730 Spring Joint と同様に、 0:04:08.730,0:04:10.464 Break Force および Torque があります。 0:04:11.005,0:04:13.576 例えば、Break Force プロパティに 0:04:13.576,0:04:16.139 適切な低い値を設定すると、 0:04:16.139,0:04:18.139 Force を加えた時にドアをちょうつがいから 0:04:18.139,0:04:20.487 外れるようにすることが出来ます。 0:04:20.487,0:04:22.753 これをするとき、ドアが後ろ方向に直接はじけとぶのではなく、 0:04:22.753,0:04:26.267 ちょうつがいから引っ張られて外れるようになることに注意すべきです。[br](翻訳:gamesonytablet)