< Return to Video

Colliders - Unity Official Tutorials

  • 0:00 - 0:02
    コライダとは、
  • 0:02 - 0:04
    ゲームオブジェクトにアタッチすると
  • 0:04 - 0:06
    他のコライダに反応するコンポーネントであり、
  • 0:06 - 0:08
    そのためには衝突するゲームオブジェクトのどちらかが
  • 0:08 - 0:10
    Rigidbody コンポーネントをアタッチされている必要があります。
  • 0:10 - 0:13
    コライダには様々な形状や種類があり、
  • 0:13 - 0:15
    緑色のラインに囲われて
  • 0:15 - 0:16
    シーンビューで描画されます。
  • 0:16 - 0:19
    形状は次に挙げるプリミティブ (原始図形) のいずれかです:
  • 0:19 - 0:31
    Sphere, Capsule, Box です。
  • 0:33 - 0:35
    より複雑な形状には二つのオプションがあります。
  • 0:35 - 0:37
    これらのプリミティブ形状のいずれかを
  • 0:37 - 0:40
    組み合わせるために、別のオブジェクトに
  • 0:40 - 0:42
    適用します。
  • 0:42 - 0:43
    プリミティブ コライダを Hierarchy 上で
  • 0:43 - 0:45
    この workbench オブジェクトには
  • 0:45 - 0:47
    複数のオブジェクトがあり、
  • 0:47 - 0:49
    いくつかのエリアの
  • 0:49 - 0:51
    別のコライダからなっています。
  • 0:51 - 0:54
    もうひとつのオプションはメッシュ コライダを使用することであり、
  • 0:54 - 0:56
    これにより指定したメッシュの形状に
  • 0:56 - 0:58
    完全に一致します。
  • 0:58 - 1:01
    右の workbench オブジェクトには階層はなく
  • 1:01 - 1:03
    その代わりにメッシュ コライダを使用します。
  • 1:03 - 1:05
    メッシュ コライダを使用しない理由は、
  • 1:05 - 1:07
    指定したメッシュの形状と完全に
  • 1:07 - 1:09
    一致するためです。
  • 1:09 - 1:11
    つまり、複雑なモデルのメッシュを指定すると
  • 1:11 - 1:13
    複雑すぎるコリジョン メッシュを提供するかもしれず
  • 1:13 - 1:16
    パフォーマンスに影響します。
  • 1:16 - 1:18
    複合的なセットアップを使用したほうが
  • 1:18 - 1:20
    良い理由はこのためです。
  • 1:20 - 1:22
    しかしコリジョンする物体を作成するには
  • 1:22 - 1:24
    3 つめの選択肢があり、
  • 1:24 - 1:27
    別のよりシンプルな物体に修正して
  • 1:27 - 1:30
    メッシュ コライダを使用する方法です。
  • 1:30 - 1:32
    この例では、複雑なロボット アームの
  • 1:32 - 1:34
    アセットがあります。
  • 1:34 - 1:36
    これは非常に複雑なメッシュですが
  • 1:36 - 1:38
    衝突の際にここまで複雑な
  • 1:38 - 1:40
    メッシュは必要ではありません。
  • 1:40 - 1:43
    ここでは
  • 1:43 - 1:46
    二個目の物体のセットを作成して
  • 1:46 - 1:48
    一連のメッシュ コライダに適用してます。
  • 1:48 - 1:50
    例えば爪のこの部分は
  • 1:50 - 1:52
    そのために作成したコリジョン メッシュよりも
  • 1:52 - 1:53
    複雑です。
  • 1:54 - 1:56
    二つの別の FBX ファイルで行われてます。
  • 1:56 - 2:00
    元のモデル作品と物体をローポリにした物体の
  • 2:00 - 2:02
    二つです。
  • 2:02 - 2:04
    それから各々を見ていって、
  • 2:04 - 2:06
    メッシュ コライダを適用して
  • 2:06 - 2:08
    使用するコリジョン メッシュとして
  • 2:08 - 2:09
    ドラッグしてます。
  • 2:09 - 2:11
    整理するとパフォーマンスのオーバーヘッドなく
  • 2:11 - 2:13
    衝突という意味で必要な正確性が
  • 2:13 - 2:15
    得られるということです。
  • 2:16 - 2:18
    ゲームエンジンで衝突が起こるとき
  • 2:18 - 2:20
    ひとつのコライダが別のものと衝突して、
  • 2:20 - 2:22
    OnCollisionEnter がコールされます。
  • 2:22 - 2:26
    このシーンにおいて prop samoflange オブジェクトには
  • 2:26 - 2:29
    別の Sphere Collider コンポーネントおよび Rigidbody コンポーネントがあります。
  • 2:29 - 2:32
    Rigidbody は重量(mass)および重力(gravity)を提供します。
  • 2:32 - 2:34
    ゲームを再生するとき、ひとつが
  • 2:34 - 2:36
    倒れて、もう片方に衝突します。
  • 2:37 - 2:40
    powerCube は Box Collider がアタッチされています。
  • 2:43 - 2:46
    これは 落下するオブジェクトにも
  • 2:46 - 2:47
    アタッチされています。
  • 2:48 - 2:50
    スクリプトは三つの衝突イベントを検知します。
  • 2:50 - 2:54
    OnCollisionEnter, OnCollisionStay および
  • 2:54 - 2:55
    OnCollisionExit です。
  • 2:55 - 2:57
    これらの 各々が発生するとき、
  • 2:57 - 2:59
    Debug.Log を使用してコンソールに書き込みを行ないます。
  • 3:00 - 3:02
    Enter がコールされたとき、
  • 3:02 - 3:04
    Stay が発生したとき、
  • 3:04 - 3:06
    また、Exit がコールされたときに登録されます。
  • 3:10 - 3:12
    もしコンソールをみれば
  • 3:12 - 3:14
    Enter がコールされたか、Stay がしばらくの間発生したか、
  • 3:14 - 3:17
    また、Exit がコールされたか確認することが出来ます。
  • 3:17 - 3:20
    もしゲームをポーズして再生すると、
  • 3:20 - 3:22
    このサンプルをゆっくりと眺めることが出来ます。
  • 3:22 - 3:24
    コリジョンが発生したときに
  • 3:26 - 3:27
    フレームごとにステップ実行すると
  • 3:27 - 3:30
    OnCollisionEnter がコールされているので、OnCollisionEnter は
  • 3:30 - 3:32
    発生した直後です。
  • 3:33 - 3:37
    その後続けると、OnCollisionStay が発生しています。
  • 3:37 - 3:39
    この右側で、
  • 3:39 - 3:41
    二つのコライダがまだ衝突中であるため
  • 3:41 - 3:43
    数回これが発生していることを確認できます。
  • 3:43 - 3:45
    その後続けてステップ実行すると
  • 3:45 - 3:48
    最終的に二つのコライダが衝突しなくなったとき
  • 3:48 - 3:50
    OnCollisionExit が
  • 3:50 - 3:52
    コールされます。
  • 3:53 - 3:55
    OnCollision メッセージが送信されるためには
  • 3:55 - 3:57
    衝突する二つのオブジェクトの一つに
  • 3:57 - 4:00
    Rigidbody コンポーネントがアタッチされている必要があります。
    (翻訳:gamesonytablet)
Title:
Colliders - Unity Official Tutorials
Description:

more » « less
Video Language:
English
Duration:
04:02

Japanese subtitles

Revisions