Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by harveyhb · Dec 11, 2013 at 04:23 PM · collisiononcollisionenter

Another Collision Question

I've been through numerous related answers on here but just can't get my collisions working properly.

I've have a prefab gameobject called Bullet with the following script attached. The bullets are physically colliding with another prefab game object which has the tag "asteroid". However I am now adding a scoring system and need the score to change when the two objects collide. Both have a rigid body and a sphere collider attached. Neither is isTrigger or kinematic. But I can't get the debug to work when they collide.

 void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.tag == "Asteroid")
     {
         Debug.Log("hit");
     }
     
 
     

}

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image guitarxe · Dec 11, 2013 at 04:42 PM 0
Share

Hm, strange. Do this and see what's printed to the console log:

 void OnCollisionEnter(Collision collision)
 {
   Debug.Log(collision.gameObject.tag);
 }

3 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by MrSteve1 · Dec 11, 2013 at 04:47 PM

I would check that the Tag you assigned the object is exactly the same including capitalization,I cant help noticing in your question it is not, if not that can you post a pic of your setup with the onbjects Selected?

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by EX_Darius · Dec 11, 2013 at 04:49 PM

Make sure the tag you are referring to is spelled exactly the same in your script.

You can also try this if ^ doesnt work try this: (make sure to enable the isTrigger option for either of the objects)

 void OnTriggerEnter(collider other)
 {
 if (other.gameObject.name == [the object name here] )
 {
 Debug.Log("Object has been hit!")
 }
 }
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image guitarxe · Dec 11, 2013 at 04:51 PM 0
Share

There is no need to set either of the object's rigidbodies to "IsTrigger". In fact, doing so will make the objects pass through each other.

avatar image MrSteve1 · Dec 11, 2013 at 04:51 PM 0
Share

I am guessing my answer wasn't there when you began typing yours.

avatar image EX_Darius · Dec 11, 2013 at 04:55 PM 0
Share

Yup yours wasnt there when I started writing this. However for the function "OnTriggerEnter" you do need to have 1 "isTrigger" enabled.

avatar image
0

Answer by harveyhb · Dec 12, 2013 at 11:17 AM

Thanks for your help, both the bullet and the asteroids were prefabs and I hadn't used the tag on the prefab, just on the objects in hierarchy.

Working now!

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

19 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Collision with no contact? 2 Answers

Unparent object on collision? 3 Answers

Transform collider not detecting collision on rigidbody collider 2 Answers

onCollisionEnter function called from another object. 1 Answer

Change Direction on Collision 6 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges