====== Collider (UnityComponent) ======
Collider(コライダー)とは当たり判定を行うのに必要なコンポーネントです。
===== バーチャルキャストにおけるコライダー =====
  * 現在使用可能なのは以下のコライダーです。
    * **Box**Collider (箱状)
    * **Sphere**Collider (球状)
    * **Capsule**Collider (カプセル状)
    * **Mesh**Collider (任意のメッシュ状)
  * [[vci:script:reference:eventfunction|VCIイベント関数]]のonTrigger関数を使用するのに必要です。
  * [[vci:component:sdk:subitem|VCI SubItem Component (VCISDK)]]を使用するのに必要です。
  * バーチャルキャストはキャラクターと床( y = 0 )にコライダーが設定されています。
--> Unityの解説一覧 (クリックで展開) #
  * [[https://unity3d.com/jp/learn/tutorials/topics/physics/colliders?playlist=17120 | Collider (チュートリアル)]]
  * [[https://unity3d.com/jp/learn/tutorials/topics/physics/colliders-triggers?playlist=17120 | Colliders as Triggers (チュートリアル)]]
  * [[https://docs.unity3d.com/ja/current/Manual/class-BoxCollider.html |Box Collider]]
  * [[https://docs.unity3d.com/ja/current/Manual/class-SphereCollider.html |Sphere Collider]]
  * [[https://docs.unity3d.com/ja/current/Manual/class-CapsuleCollider.html | Capsule Collider]]
  * [[https://docs.unity3d.com/ja/current/Manual/class-MeshCollider.html | MeshCollider]]
<--
==== プロパティーの説明 ====
=== 共通 ===
^ プロパティー ^ 機能 ^
| Is Trigger | 有効時、イベント処理に必要な判定として使われるようになり\\ 物理的な接触は発生しなくなります。\\ オブジェクト同士が重なって欲しい場合に有効にします。\\ **Is Triggerが有効なオブジェクトが大量に重なると、負荷が高くなるのでご注意ください。** |
| Material | [[https://docs.unity3d.com/ja/current/Manual/class-PhysicMaterial.html | Physic Material]]を割り当てる事で\\ コライダー同士が接触した際の物理挙動を決める事ができます。 |
=== SphereCollider ===
^ プロパティー ^ 機能 ^
| Center | コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
| Radius | コライダーの半径 |
=== CapsuleCollider ===
^ プロパティー ^ 機能 ^
| Center | コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
| Radius | コライダーの半径 |
| Height | コライダーの高さ |
| Direction | 高さ方向の軸の向き |
=== BoxCollider ===
^ プロパティー ^ 機能 ^
| Center | コライダーを付与したゲームオブジェクトの原点に対する、コライダーの相対位置 |
| Size | コライダーの大きさ (x,y,z) |
=== MeshCollider ===
いくつか条件があるので、[[vci:component:unity_meshcollider|専用ページ]]で詳しく説明しています。
===== コライダーレイヤーの指定 =====
**ColliderLayer**とは、UnityにおいてGameObjectごとに設定するコライダーの当たり判定の属性のことです。\\
ルームにおいては、キャラクターがコライダーを貫通出来ないように設定できるので、スタジオよりも幅広い当たり判定の属性が存在します。
{{:vci:component:unitycomponent:image_3_.png?400|}}
  * UniVCI v0.30以上が必要です。
  * ルーム向けの機能であるため、スタジオでは一部動作しません。
  * コライダーが付加されているGameObjectに対してレイヤーを設定します。
==== レイヤーの違い ====
キャラクターに関して、**「Character」**と**「HumanoidParts」**のレイヤーが存在し、VCI用のコライダーレイヤーと干渉するようになっています。
^  {{:vci:component:collider_humanoidparts.png|HumanoidParts}}  |各ボーンに対応するコライダー。スタジオ/ルーム共通。\\ isKinematic=offの物体を反発。装着VCIを判定。 ||
^  {{:vci:component:collider_character.png?|Character}}  |床や壁などと衝突するコライダー。**ルーム**にのみ対応。\\ ローカルのキャラクター(自分自身が操作するキャラクター)のみに存在し、\\ リモートキャラクター(他人のキャラクター)には存在しない。||
^ |  {{:vci:component:unitycomponent:colliders.png?150|}}  ||
^ ^  {{:vci:component:collider_humanoidparts.png|HumanoidParts}}  ^  {{:vci:component:collider_character.png?|Character}}  ^
^Default\\ /Location|   衝突する   |   衝突する   |
^:::|デフォルトのコライダー。設定をしなかった場合はこのコライダーになる。\\ 動かない壁や足場に使用。手持ちVCIや装着VCIには基本的に使用しない。\\ ロケーションVCIは出力時に**Default⇒Location**レイヤーに変更される。||
^VCIAccessory|   衝突する   |  衝突しない  |
^:::|**HumanoidParts**は反発するが、**Character**が押しのけられることはない。\\ 装着VCIや**HumanoidParts**で弾かせたいVCI、銃弾にも使える。||
^VCIItem|  衝突しない  |   衝突する   |
^:::|**HumanoidParts**が反発せずに、**Character**を押しのける。 \\ **Default**に比べて**Character**を動かしやすい。\\ 動くタイプの足場や壁に使える。||
^VCIPickUp|  衝突しない  |  衝突しない  |
^:::|一切干渉しない。\\ 体とVCIとが一切反発しないVCI、装着VCIにも使える。||
表は、ユーザーのユエムさんの記事を参考にさせていただきました。\\
https://qiita.com/johnny-um/items/57c509bb1592c6d22f2f
**「Character」「HumanoidParts」「Location」「VCIPickUp」「VCIAccessory」「VCIItem」**は図のような当たり判定が設定されています。(バーチャルキャストv2.0.0a時点での設定)
{{:vci:component:unitycomponent:image_ph_2.png?400|}}