Collider(コライダー)
Jump to navigation
Jump to search
Colliderは、スロットが他のコライダーとどのように相互作用するかを制御するコンポーネントです。コライダーはインタラクトの境界を決定する形状を持っており、コンポーネントは常に特定の形状をしています。
- BoxCollider: X、Y、Zのサイズを持ちます。
- CapsuleCollider: 高さと半球状のキャップの半径を持ちます。
- ConeCollider: 円錐の円形端の高さと半径を持ちます。
- ConvexHullCollider: オブジェクトのメッシュの上にconvex hull(凸包)(オブジェクトを密に包むが、くぼみのない形状)を作成します。
- CylinderCollider: 高さと円形のキャップの半径を持ちます。
- MeshCollider: オブジェクトのメッシュの外側を指します。
- SphereCollider: 球の半径を持ちます。
2つのコライダーが互いに交差するとき、「衝突している」といいます。衝突イベントは、On Collision Start, On Collision Stay, On Collision EndLogiXノードを通じて検出することができます。これらのノードはチェックするコライダーコンポーネントを入力し、衝突を引き起こした他のコライダーと一緒にインパルスを出力します。
コライダーの形状を決定する特性とは別に、すべてのコライダーは次のような特性を備えています。:
Fields | ||
---|---|---|
Name | Type | Description |
persistent
|
Bool | Determines whether or not this item will be saved to the server. |
UpdateOrder
|
Int | Controls the order in which this component is updated |
Enabled
|
Bool | Controls whether or not this component is enabled |
Offset
|
Float3 | コライダー形状の位置とスロットの位置のオフセット |
Type
|
ColliderType | コライダーのタイプ |
CharacterCollider
|
Bool | アバターがコライダーの衝突で移動するのを防ぐかどうか |
IgnoreRaycasts
|
Bool | アバターのレーザーがコライダーに当たらないようにするかどうか |
コライダーは、他のコライダーと相互作用するかどうかを決定するタイプも持っています。:
- Static: activeコライダーと相互作用します。
- Trigger: activeコライダーやユーザーのロコモーションと相互作用します。Triggerコライダーは、IgnoreRaycastsの設定に関わらず、アバターのレーザーがコライダーに当たりません。
- Active: StaticコライダーやTriggerコライダー、ユーザーのボディパーツ、ユーザーのロコモーション、アンカーにいるユーザーと相互作用します。このようなコライダーは、他のものとの衝突を1フレームごとに積極的にチェックするため、"active"と呼ばれます。
- NoCollision: その名の通り、相互作用は起きません。
- HapticTrigger: Unknown at present.
- HapticSampler: Unknown at present.
activeコライダーは他のactiveコライダーとの衝突イベントを起こさないことに注意してください(おそらく計算コストがかかるため)。
MeshColliderは特殊なケースです。それらは他のプリミティブコライダーとの衝突イベントだけを引き起こし(つまり、他の MeshCollider は引き起こさない、これもおそらく計算コストのため)、衝突イベントは他のコライダー上でのみ発生します。
なお、No Clip ロコモーションモードの場合、何にも衝突しないことを意味します。これは、何にも相互作用を起こさず、ワールドを「ゴースト」するのに便利です。