Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
avatar image
0
Question by Deonisos69 · Mar 13, 2016 at 08:15 PM · 3d

Collision not working

Hi! I dont know why my Collision is not working, If the shot hits the target ,the target should be destroyed. I have added the script to the target.

 using UnityEngine;
 using System.Collections;
 
 public class destroygegner : MonoBehaviour {
 
     public GameObject shot;
 
     void OnCollisionEnter (Collider other) {
         if (other == shot) {
             Destroy (gameObject);
             }
         }
     }
 

Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Zoogyburger · Mar 13, 2016 at 08:22 PM

Try this:

 void OnCollisionEnter (Collision other)


Comment
Add comment · Show 10 · 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 Zoogyburger · Mar 13, 2016 at 08:29 PM 1
Share

Try this:

 if(other.name == "Shot")

or

 if (other.gameObject.tag == "shot")
avatar image Deonisos69 Zoogyburger · Mar 13, 2016 at 08:35 PM 0
Share

Now it just runs without doing anything, it just accepted the code but doesnt do what the code is for xD

avatar image Zoogyburger · Mar 13, 2016 at 08:45 PM 2
Share

SORRY! I don't know why I'm having so much trouble on giving you the right answer.

This should work

 void OnCollisionEnter (Collision Colider)
 {
     if (Colider.gameObject.name == "Shot") {
         Debug.Log ("hit");
         Destroy (gameObject);
     }
 }

}

Name your shot "'Shot"

avatar image Deonisos69 Zoogyburger · Mar 17, 2016 at 03:35 PM 0
Share

still doenst work :/ okay here is how I created the shot: I made a shot prefab, added a script for moving forward, it got a Rigidbody, its Box Collider is trigger and gave the player a script for shooting it on keypress. The enemy is a sphere with a nav mesh agent for moving torwards the player and got a sphere Collider wich is a trigger. Also the console is completely empty even when they should hit. What did I do wrong?

avatar image Zoogyburger · Mar 17, 2016 at 05:56 PM 1
Share

Why is you enemy's collider a trigger? It is not going to know what hit it unless you use OnTriggerEnter.

avatar image Deonisos69 Zoogyburger · Mar 20, 2016 at 05:54 PM 0
Share

It still doenst work, I dont know what I do wrong ... ._.

avatar image Zoogyburger · Mar 20, 2016 at 08:02 PM 1
Share

$$anonymous$$ake sure all Colliders are NOT triggers and change you script to this:

 void OnCollisionEnter (Collision other) {
     if (this.gameObject.name == "Shot(Clone)") {
         Destroy (other.gameObject);
         }
     }
 }

When your shot is instantiated it will automatically name the Shot with a (clone) at the end. So you're Shot will be Named Shot(Clone). A better way to do what you're trying to do would be to find the target name and destroy it.

avatar image Deonisos69 Zoogyburger · Mar 20, 2016 at 11:39 PM 1
Share

Now that both Colliders are no triggers anymore it works, thank you for your time and your help! :) But I changed your script a bit and added it to the shot :) I still have to learn a lot :D

 void OnCollisionEnter (Collision other)
         {
             if (other.gameObject.name == "Gegner") {
                 Debug.Log ("hit");
                 Destroy (gameObject);
                 Destroy (other.gameObject);
             }
             Destroy (gameObject);
         }
 
avatar image Zoogyburger · Mar 21, 2016 at 12:29 AM 1
Share

Good! That script should work much better, but you don't need the last destroy line.

Show more comments

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

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

Related Questions

How do I Find which collider has been triggered during onTriggerEnter() event -1 Answers

Error connect dk2 with unity 5 0 Answers

i5 or i7 for Unity Projects? 2 Answers

An object reference is required to access non-static member (CS0120) 1 Answer

Shooting at mouse position third person camera 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