Tips

【Unity】練習問題 9 – Collider –

【Unity】練習問題 9 – Collider –

Colliderコンポーネントの練習問題


UnityのエディターやC#スクリプトのオリジナル問題です。
今回はColliderに関する問題です。

もうすぐ日本国内でもUnity認定開発者試験が受験できるようになります。
受験を考えている方は、今のうちに初歩的なところから自分の理解度を確認してみましょう。

問題① 初級問題


ア~エのCollider(3D)の名称をそれぞれ答えなさい。


ヒント

以下の語群に正解があります。※ただし、3Dコライダーには実在しないものも含まれています。
・Cube Collider ・Circle Collider 2D・Box Collider ・Edge Collider  2D
・Plane Collider ・Cylinder Collider ・Cupsule Collider ・Wheel Collider
・Polygon Collider 2D ・Sphere Collider ・Composite Collider 2D・Mesh Collider

問題② 中級問題


Box Colliderを適用したゲームオブジェクトXと、別のColliderを適用したゲームオブジェクトY同士が衝突せずにすり抜けてしまった。考えられる原因として適当なものを全て選択しなさい。

A. 各ゲームオブジェクトにRigidbodyがアタッチされていない。
B. どちらかのゲームオブジェクトにIs Triggerの設定がされている。
C. ゲームオブジェクトYにBox Collider 2Dが適用されている。
D. ゲームオブジェクトXとゲームオブジェクトYのレイヤーが異なっている。
E. ゲームオブジェクトYのColliderに、Physic Materialが設定されている。

問題③ 中級問題


親子関係をもつゲームオブジェクトのColliderについて、正しいものを全て選択しなさい。

A. 親オブジェクトがColliderを持つ場合、子オブジェクトはColliderが無くても当たり判定を持つ。
B. 親子関係をもつCollider同士では、衝突は起こらない。
C. 親のColliderにIs Triggerの設定が入っている場合、子オブジェクトは自身の設定に依らずColliderを通過する。
D. 親のColliderに適用したPhysic Materialは、子のColliderには影響しない。
E. 親オブジェクトに適用しているスクリプトのOnCollisionEnter()メソッドは子オブジェクトの衝突時も実行される。

解答・解説を見る

解答


問題① ア:Box Collider、イ:Sphere Collider、ウ:Cupsule Collider、エ:Mesh Collider
問題② B、C
問題③ B、D

解説


Colliderに関する問題です。

問題①の解説


ヒントの語群中、下記の5つは3D用のColliderです。
・Box Collider ・Sphere Collider ・Cupsule Collider ・Wheel Collider ・Mesh Collider

下記の4つは2D用のColliderです。
・Circle Collider 2D ・Edge Collider 2D・Polygon Collider 2D・Composite Collider 2D

下記の3つは存在しません。
・Plane Collider ・Cube Collider ・Cylinder Collider

答えは解答通りです。

問題②の解説


選択肢A.
RigidbodyはColliderの衝突判定の有無に関係ないため、不正解です。
※Rigidbody(物理エンジンを利用するためのコンポーネント)

選択肢B.
Is Triggerにチェックを入れると、Colliderは物理エンジンから無視されます。
どちらか一方でもIs Triggerをオンにすると、衝突は起こらないため、正解です。
※ぶつかりませんが、通過の判定は得ることができます。

選択肢C.
3D用のコライダーと、2D用のコライダーは衝突しないため、正解です。
ちなみに、1つのゲームオブジェクトに3D用と2D用のコンポーネントを同時にアタッチすることは出来ません。

選択肢D.
レイヤーを変えただけでは、Colliderの衝突は回避されないため、不正解です。
レイヤーによる衝突判定の回避は、PhysicsManagerにてLayer Collision Matrixの設定が必要です。
【参考】
Unityのレイヤー機能を使用した衝突判定の回避
Physics Managerのプロパティを徹底解説

選択肢E.
Physic MaterialはColliderの衝突判定の有無に関係ないため、不正解です。
※Physic Material(摩擦係数や反発係数を独自に設定できる、物理演算用マテリアル)

問題③の解説


選択肢A.
親子関係があったとしても、衝突判定を得るためには、Colliderは各ゲームオブジェクトに必要です。
よって不正解です。

選択肢B.
Colliderは親子間でも判定を持つため、正解です。

選択肢C.
親がIs Triggerの状態であっても、子のIs TriggerがオンになっていなければColliderは通過しません。
よって不正解です。

選択肢D.
親のPhysic Materialは子に影響しないため、正解です。

選択肢E.
親オブジェクトに適用しているスクリプトのOnCollision系メソッドで、子オブジェクトの衝突判定を得ることは出来ません。
よって不正解です。
※OnTrigger系メソッドも同様です。

以上です。

<<  < 次の問題  前の問題 > >>

[Unity_317×90]

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search