====== 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|}}