Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 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 Santoroma17 · Apr 13, 2015 at 01:10 PM · terrainvoxelminecraftnoiseseed

World Seed

Hi :) its my first question, im building a voxel terrain system, im just using my own 2D perlin noise to get the terrain height for now, but i was wondering how can i have a world seed system like minecraft, in the sense that if the seeds are the same, trees will spawn in the same place, any ideas? i cant just set the random seed because the trees wont spawn in order, maybe another perlin noise? i have no idea. im thinking about having a noise function for temperature, humidity and height, then getting other values from that, such as tree spawning, let me know

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

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by AlwaysSunny · Apr 13, 2015 at 04:15 AM

When I did this, I had multiple layers of blended noise and multiple nested generations, all kinds of crazy stuff going on. I never felt the need to use more than one "world" seed.

The control over the various aspects of noise generation should come from the other parameters; scale, octaves, iterations, blending (if any), etc. These are experimentally found fixed values you can safely hard-code. Assuming these parameters are fixed, the same seed will produce the same world every time. This is highly desirable in most situations.

In case you are unaware, the seed value should be applied to the position arguments from which you sample noise. Adding the seed value to the position arguments is sufficient to introduce the seed to the generator and have it function as described.

Comment
Add comment · Show 1 · 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 Santoroma17 · Apr 13, 2015 at 02:37 PM 0
Share

thank you, this helps a lot! so i think im just going to have a few noise fields and set the perimeters(scale, offset, etc) right at the start by setting the random seed, then calling random.range right after, that should get me the same noise every time, i just hope i tooks good XD, thanks again

avatar image
0

Answer by KdotJPG · Apr 14, 2015 at 02:14 AM

I don't really have much to say about implementing a save system, but there is one thing I feel strongly about that I would like to advise you on: Don't use Perlin noise!

Perlin noise has significant directional artifacts. It's an older function, and regardless of the fact that people talk about it all the time and that it's the one that's built into Unity, it's more often than not a worse choice than the alternatives.

Look up Simplex noise (Perlin's newer function) and OpenSimplex noise (a similar function I came up with that works a bit differently). You should be able to find C# implementations of both.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Texture mapping procedural mesh with texture atlas? (Minecraft style terrain gen) 1 Answer

Noise block terrain generation? 0 Answers

Minecraft Biomes: How to Make? 2 Answers

Tiled Terrain 0 Answers

Smooth Voxel terrain. How is it done? 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