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 GameDev_Chuck · Feb 11, 2016 at 01:25 AM · procedural

Is it possible to duplicate an Item that is proceduraly generated with random elements?

I have an empty with a script on it that instantiates a bunch of cubes in random positions in the start function. I'd like to make exact copies of the empty after the game has been started but when I try to duplicate the original empty, using Instantiate(), the cubes are all re instantiated in new positions. This behavior is not exactly surprising, but I can't figure out how to make exact copies of the original object. Is it possible?

Comment
Add comment · Show 2
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 Cherno · Feb 11, 2016 at 05:14 AM 0
Share

$$anonymous$$eep references to the instantiated cubes in an array or list, and use those references to make clones at the same positions.

avatar image Miclebrick · Feb 11, 2016 at 09:30 AM 1
Share

If you're trying to make the script generate the same thing, use the same seed for the random. If you want to duplicate it, maybe try disabling the generation script.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Glurth · Feb 11, 2016 at 04:36 PM

To expand on Cherno's comment, though I'm not quite sure if this is the answer you are looking for:

Lets say your class contains some cubes: GameObject[] cubes;

If you simply copy this array into your new object, you will be referencing the same cubes that the original references. To create COPIES of all those cubes, You will need to loop through each cube, and create a new instance:

newcubearray[i] = GameObject.Instantiate(cubes[i]);

Important note: When you instantiate a game object, you will not only create a new copy of that object in the heirarchy, you will ALSO, create copy of all it's children. Perhaps this is where those unexpected cube positions are coming from? (if so, you can probably resolve this by simply making the cubes NOT the children of the object, or alternatively, perform a copy manually: instantiate an empty game object, and add/initialize components as needed)

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

38 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

Related Questions

Run-time lightmap generating for procedural terrain 1 Answer

More Detailed Guide to Unity Procedural Examples 1 Answer

MultiPlayer Chess Game Networking 0 Answers

Adding extra materials to a mesh programmatically 0 Answers

UV Mapping a Sphere at runtime 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