- Home /
How to detect collision with imported object?
To create object, I'm using Maya. Object (House) consist from two parts - Walls and Roof. Create Group from them in Maya will not solve my cause.
After importing, I have Prefab "House" in my Assets folder, with two children in it - pCylinder1 (Walls) and pSphere1 (Roof)
After that, I use code from FPS tutorial to destroy house:
var explosion: GameObject; //Animation for explosion
function OnCollisionEnter ( collision : Collision) {
var contact : ContactPoint = collision.contacts[0];
var rotation = Quaternion.FromToRotation (Vector3.up, contact.normal );
var instantiatedExplosion : GameObject = Instantiate(explosion, contact.point, rotation );
if (collision.gameObject.name != "Terrain") { //don't wanna to destroy terrain
Destroy (collision.gameObject);
//Destroy (collision.transform.parent.gameObject);
}
Destroy (gameObject); // missile ends here
But when I hit House with my gameObject (for example, I hit it in the roof), it's only pSphere1 (roof) destroyed. And if I have script attached to my House prefab, I can not destroy script, and it's running even after roof and walls destroyed. I used empty gameObject to nest my House, but it wouldn't help. If I destroy parent of collision object instead of object, it's ends up with error when i hit more simple gameObject - which contain only one element (ForExample, GameObject -> Cube) What should I do, to have a Cube like behavior on my House Object?
Your answer
Follow this Question
Related Questions
How to collide with everything but trigger script whenever certain object hits 1 Answer
How to achieve this basic physics effect? Detect when to change layers 2 Answers
Exploding two gameobjects from the center of an collision 1 Answer
Button Box Door Collision 2 Answers
Transform.Position.Y is slowly decreasing but the player is not moving. 0 Answers