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 Coned_Stoding_games · Mar 15, 2014 at 04:47 AM · c#triggerseventscollisions

Can't get OnTriggerEnter to work

Hi, once again I find myself confused as hell by collisions and triggers. Right so what I am currently doing is just creating simple raycast-fueled AI that avoids scenery and another kind that attacks the peaceful ones.I'm not having trouble with the raycasting part, but getting the OnTriggerEnter to work has eluded me. Here is the code for the OnTrigger:

 void OnTriggerEnter(Collider other){
         
         if (other.gameObject.CompareTag ("Player")) {
             
             Debug.Log ("trigger enter");
             
             other.renderer.material.color = Color.yellow;
             
             Destroy(other.gameObject);
             
         }
     }

At this point I am not even recieving the Debug.Log so can only assume there is a problem with my collider/rigidbody setup. The above code is on the bot that kills peaceful bots. The 'killer' bot has a kinematic rigidbody and a capsule collider that isn't set to trigger. The peaceful bot just has a capsule collider with trigger enabled.

Any help would be massively appreciated. I can't particularly see why you'd need more of my code to help, but if there is anything in particular that would help, please let me know.

Thanks a lot!

Comment
Add comment · Show 3
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 tavoevoe · Mar 15, 2014 at 05:42 AM 0
Share

Something needs a rigidbody, probably.

Look at the chart at the bottom of this page: http://docs.unity3d.com/Documentation/Components/class-BoxCollider.html.

$$anonymous$$inematic rigidbodies DON'T COUNT as rigidbodies.

avatar image Coned_Stoding_games · Mar 15, 2014 at 05:55 AM 0
Share

well, according to that chart, everything I have tried should work - for example a collision between two kinematic rigidbodies with triggers should work, but it doesn't. So I'm even more stumped now considering that's what I had thought might be wrong with it.

avatar image Coned_Stoding_games · Mar 15, 2014 at 08:05 PM 0
Share

okay so I have changed the scripts around so that the OnTriggerEnter is now on the peaceful bots that have their trigger collider enabled. here is the whole script: using UnityEngine; using System.Collections;

 public class capsule : $$anonymous$$onoBehaviour {
     public Transform Capsule;
     public Transform baddies;
     public int capSpeed = 2;
     RaycastHit hitInfo;
     //float distance = 50.00f;
     // Use this for initialization
     void Start () {
     
 
 
     }
     
     // Update is called once per frame
     void Update () {
 
         Capsule.transform.Translate (0, 0, 1 * capSpeed * Time.deltaTime);
 
         Vector3 fwd = transform.TransformDirection(Vector3.forward);
 
         Debug.DrawRay (transform.position, fwd * 6, Color.green);
         //if (Physics.Raycast(transform.position, fwd, 5)){
         if(Physics.Raycast(transform.position, fwd, out hitInfo, 6)){
 
 
             if(hitInfo.collider.CompareTag("wall")){
 
             Capsule.transform.Translate(0, 0, 0 * Time.deltaTime);
 
             if(Capsule.transform.rotation.y < 20){
                 float randomY = Random.Range(-90, 90);
                 Capsule.Rotate (0, randomY, 0 * Time.deltaTime);
 
             }
     
             else if(Capsule.transform.rotation.y > -20){
                 float randomY = Random.Range (-90, 90);
                 Capsule.Rotate(0, randomY, 0 * Time.deltaTime);
 
             }
             }
             else if(hitInfo.collider.CompareTag("baddies")){
 
                 Capsule.transform.Translate(0, 0, 0 * Time.deltaTime);
 
                 Capsule.Rotate(0, 180, 0 * Time.deltaTime);
 
             }
     
 }
 }
     void OnTriggerEnter(Collider other){
         Debug.Log ("trigger enter");
         if (other.gameObject.CompareTag("baddies")) {
             
             Debug.Log ("trigger enter");
             
             this.renderer.material.color = Color.yellow;
             
             Destroy(this.gameObject);
             
         }
     }
 
 }

And I've also attached these pictures of the inspector so you can see the collider setups. alt text

alt text

playerscreenshot.jpg (403.3 kB)
baddiesscreenshot.jpg (385.6 kB)

0 Replies

· Add your reply
  • Sort: 

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

21 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 avatar image avatar image

Related Questions

Clarification on updates, physics events order and frequency? 1 Answer

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

OnTriggerEnter called much less often after a player respawn? 1 Answer

How do Delegates and Events work? 1 Answer


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