BoxCollider(ボックス コライダー)
箱形の当たり判定コンポーネント
項目
- UpdateOrder:
- 更新順序を制御できる。数字が大きいと後回しになる。
初期値1000000。
- Enabled:
- このコンポーネントを有効にするかどうか。
高頻度で切り替えると処理負荷が高くなるかも。
コライダーが行方不明になった時は、一回Off/Onすると直ります。
- Offset:
- 位置調整。
- Type:
- 他のコライダーとの相互作用設定。
Typeの種類と内容と使用例↓
0 NoCollision 何にも反応しない。(一番軽い。レイキャストだけは当たる。) インスペクター開くためだけや、ボタン押すだけの当たり判定が欲しい時に使う。 1 Static 一般的な設定。Activeタイプと反応する。 キャラクターの当たり判定(床や壁等)が欲しい時や、Activeタイプと反応させたい時に使う。 2 Trigger Activeタイプと反応する。ユーザーロコモーションやスナップ等とも反応する。レーザーは当たらない。 梯子や動く床等のユーザーロコモーションに関する設定や、帽子や眼鏡等の付け外し(スナッパー)に関する設定を行う際に使用する。(一度保存して取り出すと、Fluxで判定取れないバグがあるかも?) 3 StaticTrigger 同上。動かない物に対して使うと効率的に処理できる。 とりあえずこっち使う。 4 StaticTriggerAuto 同上。自動的に切り替わる。 5 Active 毎フレーム当たり判定を計算する。StaticタイプとTriggerタイプに反応する。Activeタイプ同士は反応しない。メッシュコライダーのActiveタイプもダメ。 負荷がヤバイのでなるべく使わないようにした方が良い。もし使う場合は、使う時だけアクティブにするとか、使う人だけローカルでアクティブにすると良い。ほか、コンポーネントの動作がおかしい時はActiveタイプコライダーが原因の可能性もあるので、使用する際は必ず熟考しましょう。 6 CharacterController CharacterControllerコンポーネント(物理演算)用。 7 HapticTrigger ハプティクス(触覚)用。 8 HapticStaticTrigger 同上。動かない物に対して使うと効率的に処理できる。 (GrabbableReceiverSurfaceと組み合わせるとバグるかも?) 9 HapticStaticTriggerAuto 同上。自動的に切り替わる。 10 HapticSampler HapticTrigger類に反応する。(HapticPointSampler用)
- Mass:
- 質量。(物理演算用)
- CharacterCollider:
- キャラクターとの当たり判定。
TypeがNoCollisionだと機能しません、Staticにしましょう。
- IgnoreRaycasts:
- レイキャスト(レーザー)が当たらないようにする。
Button用等のコライダーでTrueにしちゃうと、機能しなくなったりするので注意です。
- Size:
- 形状の設定。
(3Dモデルの新規作成でボックスを作ると、自動的にValueCopyコンポーネントによってプロシージャルメッシュのSizeがコピーされた状態で出てきます。)
- SetFromLocalBounds()
- FluxのMethod Proxyノード又はButtonActionTriggerコンポーネントを使用して、ローカル座標でバウンドを設定できる。
- SetFromGlobalBounds()
- 〃 グローバル座標でバウンドを設定できる。
- SetFromLocalBoundsPrecise()
- 〃 ローカル座標でバウンドを正確に設定できる。
- SetFromGlobalBoundsPrecise()
- 〃 グローバル座標でバウンドを正確に設定できる。
- コライダーを可視化
- 押すと、コライダーが可視化される。(緑の半透明)
消すときは、インスペクターのスロット選択を解除(別のスロットを選択する)か、インスペクターを閉じてください。ちなみに、この緑はRootの__DEBUGの中に自動生成されます。
- ローカルバウンドで設定
- 押すと、コライダーのSizeとOffsetが自動的に設定される。
大きさの基準は、Slotのバウンディングボックス(範囲)です。とりあえず、これを押せばいい。
配下のスロットも含めた範囲になります。影響させたくない場合は、一旦スロットのActiveをFalseにすると無視できます。
Size等がドライブ(ピンク色)の時は、そちらが優先されるので変化しません。
- グローバルバウンドで設定
- 同上。
グローバル座標で計算する。
- ローカルバウンドで設定(正確)
- 押すと、コライダーのSizeとOffsetが自動的に設定される。
大きさの基準は、正確に計算したSlotのバウンディングボックスです。
- グローバルバウンドで設定(正確)
- 同上。
グローバル座標で計算する。
使用例
- コライダー(当たり判定)が必要なスロットにアタッチする。
- 床や壁、机や棚等に便利です。
- キャラクターの当たり判定が必要な場合は、TypeをStaticにしてCharacterColliderをTrueにする。
その他
- Physics/Collidersページにコライダー全般に関する豆知識があるので、そちらもご覧ください。