Collider#
Colliderは、物理演算の対象となるオブジェクトの形状を定義するコンポーネントです。
使用できるCollider#
以下のColliderが使用できます。
BoxCollider(箱型)
SphereCollider(球型)
CapsuleCollider(カプセル型)
MeshCollider(メッシュ形状)
それぞれのColliderの詳細はUnity公式リファレンスを参照してください。
使用できるプロパティー#
各Collider共通のプロパティー#
プロパティー |
説明 |
---|---|
Is Trigger |
オンにすると、コライダーはイベントのトリガーとなり、物理エンジンにより無視されます。Is Triggerがオンのオブジェクトが大量に重なると、処理負荷が高くなることに注意してください。 |
Material |
PhysicsMaterialを割り当てる事で、他のColliderと衝突した際の物理挙動を決める事ができます。 |
BoxCollider#
プロパティー |
説明 |
---|---|
Center |
コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
Size |
コライダーの大きさ (x,y,z) |
SphereCollider#
プロパティー |
説明 |
---|---|
Center |
コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
Radius |
コライダーの半径 |
CapsuleCollider#
プロパティー |
説明 |
---|---|
Center |
コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
Radius |
コライダーの半径 |
Height |
コライダーの高さ |
Direction |
高さ方向の軸の向き |
MeshCollider#
いくつか条件があるので、別ページで詳しく説明しています。
レイヤー#
レイヤーとは、GameObjectに対して付与できるUnityの機能で、グループ分けのためのタグのようなものです。どのレイヤーのColliderが衝突するかはLayer Collision Matrixによって定義されています。
注意
VCIをスタジオで利用する場合、レイヤー機能は利用できません。
VCIで使用するレイヤーは以下の通りです。
Default
VCIAccessory
VCIItem
VCIPickUp
また、VirtualCastのCollision Matrixは以下の通りです。
これらのレイヤーは、アバターに衝突するかどうかの判定に使用されます。
それぞれのレイヤーの違いは以下の表を参照してください。
アバターのレイヤー#
VirtualCastのアバターは自動的に生成されたColliderを持っています。アバターのColliderにはHumanoidPartsとCharacterのレイヤーが使用されており、それぞれのレイヤーの違いは以下の通りです。
HumanoidParts |
Character |
|
---|---|---|
役割 |
アイテムへの干渉/装着の判定 |
アイテムや地形との相互作用 |
部位 |
アバターの手足や頭など、体のパーツ |
アバターの全身を覆う |
形状 |
CapsuleCollider |
CapsuleCollider |
外力による移動 |
しない |
する |
対象のアバター |
すべてのアバター |
ローカルのアバターのみ |
VCIのレイヤーとアバターのレイヤーの関係#
VCIのレイヤーと前述のアバターのレイヤーには以下のような関係があります。
VCIに設定できるレイヤー |
HumanoidParts |
Character |
備考 |
---|---|---|---|
Default |
衝突する |
衝突する |
動かない壁や足場などに使用。 |
VCIAccessory |
衝突する |
衝突しない |
装着アイテム、ノックバックしない弾などに使用。 |
VCIItem |
衝突しない |
衝突する |
アバターを移動させる際、HumanoidPartsに邪魔されない。動く足場やノックバックする弾などに使用。 |
VCIPickUp |
衝突しない |
衝突しない |
他のアイテムと衝突するが、アバターとは衝突しない。装着アイテムなどに使用。 |
スクリプトによるイベントの受け取り#
Colliderの衝突イベントはイベント関数によって受け取ることができます。