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 stefanc · Jan 27, 2015 at 03:57 PM · transformpositiondestroyparentchild

Transform child object over time and then destroy it.

I have a parent object which contains a bunch of instantiated children

  gameObjectChild = Instantiate(Resources.Load(spawnObjName), pos, Quaternion.identity) as GameObject;
             gameObjectChild.name = "child" + objectName++;
             gameObjectChild.transform.SetParent(parent.transform, true);

Parent is transforming with his children each time the button is pressed.

 GameObject.Find("parent").transform.position += new Vector3(0, -0.94f, 0);

Now I wish to move over time by X axe and then destroy a child object each time the button is pressed. I am able to destroy it with this:

                     Destroy(GameObject.Find("child" + destroyObjectName++), 0.02f);

Unfortunately I can't menage to transform it over time properly. I tried with this, but it just messes everything up.

 GameObject.Find("child" + destroyObjectName++).transform.locaposition += new Vector3(1, 0, 0);

Is this the right approach to do that? Any ideas? Thanks!

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 team_eden · Jan 27, 2015 at 05:51 PM

For starters

  gameObjectChild.transform.SetParent(parent.transform, true);

should be

  gameObjectChild.transform.parent=parent.transform;

Instead of referencing the parent constantly, do it once, probably on Awake

 // Set a parent object, instead of using find every cycle
 function Awake()
 {parentObject=GameObject.Find("parent");}
 
 //Move parent on click & also destroy a child on click
 function OnMouseClick()
 {parentObject.transform.position += Vector3(0.0, -0.94f, 0.0);
  // On your old destroy line you had "child" when it should be "parent/child"
  // Because in the hierarchy it should literally be the child of the parent
  // searching your hierarchy for Every object named "child" is bad practice.
  // Also, should not be incrementing variables during a command. Do it before
  destroyObjectName++;
  Destroy(GameObject.Find("parent/child" + destroyObjectName), 0.02f); } 
 
 
 //Move over time by x
 function Update()
 {parentObject.transform.position+=Vector3(1.0*Time.deltaTime, 0.0,0.0);}

This last line is also incorrect, even if the logic was correct too

 GameObject.Find("child" + destroyObjectName++).transform.locaposition += new Vector3(1, 0, 0);

Should be

 destroyObjectName++; //increment first
 GameObject.Find("parent/child" + destroyObjectName).transform.localPosition += Vector3(1.0, 0.0, 0.0);


Hope that helps.

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

2 People are following this question.

avatar image avatar image

Related Questions

Problem with making child an object 2 Answers

Position of parent-Object 2 Answers

Make a simple tree 1 Answer

Camera follow ball along cylinder 1 Answer

Moving parent to position of child 0 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