21-01-2021, 09:09 AM
(This post was last modified: 21-01-2021, 09:35 AM by josemendez.)
In Obi this is done exactly the same way, once you have a reference to the collider involved in the collision, you just check its name (or layer, tag, etc). You can get a reference to the collider from a contact as explained in the manual:
http://obi.virtualmethodstudio.com/tutor...sions.html
Putting it all together:
Then you just have to subscribe the OnContactEnterProcess function to the OnContactEnter event of the dispatcher. You can do this trough the inspector, or programmatically.
http://obi.virtualmethodstudio.com/tutor...sions.html
Quote:ObiColliderBase collider = ObiColliderWorld.GetInstance().colliderHandles[contact.other].owner;
Putting it all together:
Code:
using UnityEngine;
using Obi;
public class ContactWithNamedObject : MonoBehaviour
{
public void OnContactEnterProcess(ObiSolver solver, Oni.Contact contact)
{
ObiColliderBase other = ObiColliderWorld.GetInstance().colliderHandles[contact.other].owner;
if (other.gameObject.name == "testModel")
{
Debug.Log("Collision!");
}
}
}
Then you just have to subscribe the OnContactEnterProcess function to the OnContactEnter event of the dispatcher. You can do this trough the inspector, or programmatically.