An overview of how to use OnCollision and OnTrigger functions.
Which almost all games have. Ha..
What I'll Talk about..
Which almost all games have. Ha..
What I'll Talk about..
Collision
OnCollisionEnter - OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionExit - OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
Trigger
OnTriggerEnter - OnTriggerEnter is called when the Collider other enters the trigger.
OnTriggerExit - OnTriggerExit is called when the Collider other has stopped touching the trigger.
So when you use On Collision function, you can generate info about the collision. This info could be stuff like the contact point we collided, the thing we collided with, and with what velocity we collided with. Read more here.
The function I use the most is OnCollisionEnter. Its great for explosions and such. So how to call it is,
function OnCollisionEnter (){
//your code here
}
If you want to check the tag of what the object, you do this
OnCollisionEnter - OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionExit - OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
Trigger
OnTriggerEnter - OnTriggerEnter is called when the Collider other enters the trigger.
OnTriggerExit - OnTriggerExit is called when the Collider other has stopped touching the trigger.
So when you use On Collision function, you can generate info about the collision. This info could be stuff like the contact point we collided, the thing we collided with, and with what velocity we collided with. Read more here.
The function I use the most is OnCollisionEnter. Its great for explosions and such. So how to call it is,
function OnCollisionEnter (){
//your code here
}
If you want to check the tag of what the object, you do this
function OnCollisionEnter (hit:Collision){
if(hit.collider.tag == "tag name"){
//your code here
}
}
OnCollisionExit would be called by this..
function OnCollisionExit(){
//How hard was that?
}
To make an object a trigger, you'd first click on a object that contains a collider. Look in the Inspector Pane and find the collider component. Under that would be a thing called Is Trigger. You check it. That easy.
When something is a trigger, it's going to move through objects.
OnTriggerEnter to me would be good for bullets, example:
function OnTriggerEnter(hit:Collider){
if(hit.tag != "thin wall"){
Destroy (gameObject);
}
}
This script would be attatched to the bullet. The bullet would be a trigger. The script goes and checks if what the bullet collided with was tagged as thin wall. If it is not a this wall, then the bullet would be destroyed. Though if it is a thin wall, the bullet would simply go through it.
OnTriggerExit would just be called like this...
function OnTriggerExit(){
///your code here
}
On Trigger events are only sent if:
- Both objects have colliders attached.
- One object has a rigid body attached.
Comments
Post a Comment