Physics/Colliders/BoxCollider

Last-modified: 2024-10-10 (木) 19:30:35


BoxCollider(ボックス コライダー)

箱形の当たり判定コンポーネント


項目

UpdateOrder:
更新順序を制御できる。数字が大きいと後回しになる。
初期値1000000。

Enabled:
このコンポーネントを有効にするかどうか。

高頻度で切り替えると処理負荷が高くなるかも。
コライダーが行方不明になった時は、一回Off/Onすると直ります。


Offset:
位置調整。

Type:
他のコライダーとの相互作用設定。
Typeの種類と内容と使用例↓
0NoCollision何にも反応しない。(一番軽い。レイキャストだけは当たる。)インスペクター開くためだけや、ボタン押すだけの当たり判定が欲しい時に使う。
1Static一般的な設定。Activeタイプと反応する。キャラクターの当たり判定(床や壁等)が欲しい時や、Activeタイプと反応させたい時に使う。
2TriggerActiveタイプと反応する。ユーザーロコモーションやスナップ等とも反応する。レーザーは当たらない。梯子や動く床等のユーザーロコモーションに関する設定や、帽子や眼鏡等の付け外し(スナッパー)に関する設定を行う際に使用する。(一度保存して取り出すと、Fluxで判定取れないバグがあるかも?)
3StaticTrigger同上。動かない物に対して使うと効率的に処理できる。とりあえずこっち使う。
4StaticTriggerAuto同上。自動的に切り替わる。
5Active毎フレーム当たり判定を計算する。StaticタイプとTriggerタイプに反応する。Activeタイプ同士は反応しない。メッシュコライダーのActiveタイプもダメ。負荷がヤバイのでなるべく使わないようにした方が良い。もし使う場合は、使う時だけアクティブにするとか、使う人だけローカルでアクティブにすると良い。ほか、コンポーネントの動作がおかしい時はActiveタイプコライダーが原因の可能性もあるので、使用する際は必ず熟考しましょう。
6CharacterControllerCharacterControllerコンポーネント(物理演算)用。
7HapticTriggerハプティクス(触覚)用。
8HapticStaticTrigger同上。動かない物に対して使うと効率的に処理できる。GrabbableReceiverSurfaceと組み合わせるとバグるかも?)
9HapticStaticTriggerAuto同上。自動的に切り替わる。
10HapticSamplerHapticTrigger類に反応する。(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ページにコライダー全般に関する豆知識があるので、そちらもご覧ください。