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 /
avatar image
0
Question by PuzzleBox · Oct 04, 2011 at 08:59 PM · collisiondestroydistance

Destroy on Distance equals zero...

I'm trying to make my AI script destroy itself when I reaches it way-point. This is what I have so far:

 function OnTriggerEnter(collider : Collider){
     Destroy(collider.gameObject);
 }

There is no error when it plays yet it will not disappear when it get to the way-point. What can I change or replace to get the result I'm looking for?

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
0

Answer by asafsitner · Oct 04, 2011 at 09:09 PM

It seems to me as if you're destroying the trigger's gameObject. If this script sits on the enemy object, you should use Destroy(this); instead.

You may also want to include a check to see which trigger exactly you entered so you won't just destroy the enemy on every trigger.

Correction: You should use Destroy(this.gameObject); and not just Destroy(this);. Using the former will destroy the entire game object, while using the latter will destroy only the script component.

Using Destroy(gameObject); is also legal and will yield the same result. Use whatever fits your code-readability standards.

Comment
Add comment · Show 2 · 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 PuzzleBox · Oct 04, 2011 at 09:25 PM 0
Share

should I use OnCollision? could I use it to where it will only destroy itself when it hits or get near the way-point?

avatar image asafsitner · Oct 04, 2011 at 09:34 PM 0
Share

If you use a trigger use OnTrigger. if it's just a collider use OnCollision. If it's just a collider then OnTrigger won't work, and vice versa.

Alternatively, you could check the distance with Vector3.Distance(target.position, transform.position);

$$anonymous$$ake an if statement to deter$$anonymous$$e if this distance is less then or equal to (approximately) whatever distance you want and then call Destroy(this.gameObject); as mentioned.

Calling Destroy(collider.gameObject); will destroy the game object you collided with. Using Destroy(this.gameObject); will destroy the game object the script is a part of, i.e. your enemy entity.

For more on the Vector3.Distance:

http://unity3d.com/support/documentation/ScriptReference/Vector3.Distance.html

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

OnTriggerEnter - destroy (this.gameobject) if it collides with anything 2 Answers

Won't destroy coin on collision - 2D 1 Answer

Object destroys on collision script 2 Answers

How to make two objects using RidgedBodyFPSWalker Destroy one another if they come into contact 1 Answer

How do I make objects disappear as they are touched? 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