お知らせ

次の項目は別ページに分割しました。

Collider

参考:

UnityEngine.Collider | Unity スクリプトリファレンス [公式]

MeshCollider

参考:

UnityEngine.MeshCollider | Unity スクリプトリファレンス [公式]

How can i convert a non-convex mesh collider object to a convex mesh collider object – Game Development Stack Exchange

Collision Detection

  • Discrete
  • Continuous
  • Continuous Dynamic
  • Continuous Speculative

参考:

最適な衝突判定を即選択。Collision Detection 早見表 | VirtualCast Blog

今更ながら RigidBody の Collision Detection について表にまとめてみた – Qiita

物理エンジンの接触判定トラブル すり抜けとゴースト衝突 | BotaLab

Rigidbody の Collision Detection (衝突の検知) を変えて実験 | エクスプラボ

オブジェクトが壁をすり抜ける!そんなときの対策 | Unity 入門サイト (kimama-up.net)

CCD (連続的衝突判定) | Unity マニュアル [公式]

Rigidbody | Unity マニュアル [公式]

Collider.isTrigger

コライダーの isTrigger を有効にすると剛体との衝突判定を行わない。

参考:

Collider.isTrigger | Unity スクリプトリファレンス [公式]

OnCollisionEnter

剛体あるいはコライダーが接触を開始した時に呼び出されるハンドラ

参考:

衝突判定のあれこれ – Qiita

OnTriggerEnter と OnCollisionEnter の違い/衝突判定 | Unity メモ (nullkun0803.hateblo.jp)

Rigidbody.OnCollisionEnter(Collision) | Unity スクリプトリファレンス [公式]

Collider.OnCollisionEnter(Collision) | Unity スクリプトリファレンス [公式]

OnCollisionStay

剛体あるいはコライダーが接触をしている間、1フレームに1回呼び出されるハンドラ

参考:

Rigidbody.OnCollisionStay(Collision) | Unity スクリプトリファレンス [公式]

Collider.OnCollisionStay(Collision) | Unity スクリプトリファレンス [公式]

Collision

コールバック関数に渡されるコリジョンの詳細が格納されるクラス

プロパティ

  • collider:衝突対象のコライダー
  • contanctCount:発生した衝突の数
  • contacts:物理エンジンにより生成された衝突点 (メモリガベッジが発生するため非推奨。代わりに GetContact / GetContacts を使用する。)
  • gameObject:衝突対象のコライダーに関連付けられたゲームオブジェクト
  • impulse:衝突により発生した力積の合計
  • relativeVelocity:コライダー間の相対速度
  • rigidbody:衝突対象のコライダーに関連付けられた剛体
  • transform:衝突対象オブジェクトのトランスフォーム

公開メソッド

  • GetContact:index で指定された衝突を取得する
  • GetContacts:全ての衝突点の位置を ContactPoint の配列として取得する

参考:

Collision | Unity Scripting API [Official]

ContactPoint

Collistion クラスに格納される衝突点の位置情報

プロパティ

  • normal:衝突点の法線
  • otherCollider:衝突した対象のコライダー
  • point:衝突点の位置
  • separation:コライダー間の距離 (めり込んでいる場合に負の値となる)
  • thisCollider:衝突が発生しているコライダー

参考:

ContactPoint | Unity Scripting API [Official]

Collision2D

2次元物理演算使用時にコールバック関数に渡されるコリジョンの詳細が格納されるクラス

参考:

Collision2D | Unity Scripting API [Official]

コライダーで接触方向を検出する

参考:

ContactPoint2D.normal | Unity Scripting API [Official]

Calculate the normal of a collider – Unity Answers

すり抜け対策

参考:

3D ゲームで壁抜けしないコリジョンを実装してみた – Qiita

OverlapBox

参考:

Physics.OverlapBox | Unity スクリプトリファレンス [公式]

How to change the orientation for an overlapbox and a gizmo? – Stack Overflow

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です