• 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 Ekta-Mehta-D · Apr 21, 2014 at 09:19 AM · prefabdestroyclone

Destroy Prefab clone

Hey everyone..

I am having one coin pattern prefab in that i have collection of coin with single parent object..

Now whenever my player collides with that coin i am destroying coin in player script. Nd for spawning coin i have another spawner script.

Now when i instantiate coin pattern next time, i could not find previously destroyed coin.. means coins are destroying from prefab itself..

So for that what should i do?? Thanks for your support and help till now.

 function FixedUpdate() {
 
 var ray : Ray = Ray(player.transform.position, Vector3.up);
 var hit : RaycastHit;
 var somthingAboveMe : boolean = Physics.Raycast(ray, hit);
 
 if (Physics.Raycast(ray, hit)) {
     if(hit.collider.name == "Coin")
     {
         if(hit.collider.gameObject.transform.parent.name.Contains("(Clone)"))
         {
             Debug.DrawLine (ray.origin, hit.point);
             player.gameObject.rigidbody.velocity = new Vector3(0, 0, 0);
             player.gameObject.rigidbody.AddRelativeForce(0 , 800 ,0);
             player.gameObject.layer = 8;
             ChangeChildLayerToPlayer();
             Destroy(hit.collider.gameObject);
         }
     }
 }
 }
Comment
Add comment · Show 4
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 Fappp · Apr 21, 2014 at 10:09 AM 0
Share

Can you post the code that does the destruction?

avatar image maddFrogg · Apr 21, 2014 at 10:13 AM 0
Share

If you destroy coins you will not be able to use them again later. Try hiding them.

avatar image Tasmia · Apr 22, 2014 at 08:15 AM 1
Share

You have the option collider.gameObject.SetActive(false);

avatar image Fearthefrozt · Apr 23, 2014 at 06:24 PM 0
Share

You would only use this SetActive(false) option if you wanted to use that same instance/clone again, if you want to Instantiate another clone ins$$anonymous$$d then just make sure that you're destroying the clone and then you should have no problem creating another instance of the coin using the Instantiate() function.

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Tasmia · Apr 21, 2014 at 10:21 AM

You need to attach Destroy(gameObject); ..with coin if collision occur ... otherwise if you destroy clone it will destroy main gameObject..

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 Fappp · Apr 24, 2014 at 08:40 AM

var goHit : GameObject;

function FixedUpdate() {

 goHit = null;
  
 var ray : Ray = Ray(player.transform.position, Vector3.up);
 var hit : RaycastHit;
 var somthingAboveMe : boolean = Physics.Raycast(ray, hit);
  
 if (Physics.Raycast(ray, hit)) {
     if(hit.collider.name == "Coin")
     {
        goHit = hit.collider.gameObject;
        Destroy(goHit);
     }
 }

}

This makes sure the GameObject deleted is always the one raycasted towards and only if the name is Coin!

I would suggest implementing CompareTag instead of searching by name, just for the ease of it!

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

25 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

Related Questions

How to destroy the clone that I click on Unity 2D 1 Answer

A node in a childnode? 1 Answer

Destroy(clone) not destroying the instantiated prefab 1 Answer

Destroying Objects. 1 Answer

Deleting a GameObject 2 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