Skip to content

Physics Triggers

1. 概要

Physics Trigger は、Unity の 2D / 3D 物理コールバックを Observable に変換する R3.Unity のファクトリメソッドです。GameObjectComponent の両方に拡張メソッドが用意されています。

2. API 一覧

API対象発行値
OnCollisionEnterAsObservable()GameObject / ComponentCollision
OnCollisionExitAsObservable()GameObject / ComponentCollision
OnCollisionStayAsObservable()GameObject / ComponentCollision
OnCollisionEnter2DAsObservable()GameObject / ComponentCollision2D
OnCollisionExit2DAsObservable()GameObject / ComponentCollision2D
OnCollisionStay2DAsObservable()GameObject / ComponentCollision2D
OnTriggerEnterAsObservable()GameObject / ComponentCollider
OnTriggerExitAsObservable()GameObject / ComponentCollider
OnTriggerStayAsObservable()GameObject / ComponentCollider
OnTriggerEnter2DAsObservable()GameObject / ComponentCollider2D
OnTriggerExit2DAsObservable()GameObject / ComponentCollider2D
OnTriggerStay2DAsObservable()GameObject / ComponentCollider2D

3. マーブルダイアグラム

Physics Triggers のマーブルダイアグラム

対応する物理イベントが発生するたびに、イベント引数が発行されます。

4. サンプルコード

csharp
this.OnTriggerEnterAsObservable()
    .Subscribe(other => Debug.Log(other.name))
    .AddTo(this);

gameObject.OnCollisionEnter2DAsObservable()
    .Subscribe(collision => Hit(collision))
    .AddTo(this);