Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Planetary Terrain

Discussion in 'Assets and Asset Store' started by HenryV, Dec 4, 2013.

Thread Status:
Not open for further replies.
  1. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Hey,

    I have been working on a procedural planet generator for Unity and it is ready to be released to all of you in the Asset Store. Hopefully this package will help to make procedural planet generation more accessible to a greater range of games.

    You can use it to easily design interesting looks for your planets, using a node-based editor and also by painting heights directly onto the surface.

    I hope you like it!

    [links removed]

    Asset store link


    Features



      • Procedurally generated planets with dynamic level of detail.
      • Terrain painting: paint features directly on to planet surface!
      • Powerful node-based editor to control the procedural generation.
      • Run-time generation for minimal application size.
      • Easily save planets to meshes and prefabs.
      • Full source code and shader graphs included.
      • Support for both Unity Free and Pro!
    Some pictures:
    $1_crater_thumb.png
    $2_ground_thumb.png
    $3_lod_thumb.png
    $4_nodes_thumb.png
    $5_planets_thumb.png


    Tutorial video:
     
    Last edited by a moderator: Jun 19, 2018
    EliasMasche and aaronhm77 like this.
  2. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    With this option you got all my attention. What about the price?
     
    aaronhm77 likes this.
  3. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    It will be around 90$.

    The mesh saving is really easy, literally a press of a button. You can also subdivide the surfaces so that for example one part of a planet has lots of detail while other parts stay low poly.
     
    aaronhm77 likes this.
  4. TheNorthridge

    TheNorthridge

    Joined:
    Jan 4, 2012
    Posts:
    193
    Oooh! This looks quite nice! Whats the scale like with a First Person Controller?
     
  5. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Ok. And what about Dx11 and the colliders?
     
  6. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks! The planets radius can be set by the user, so for example you can have the whole planet in 1 unit or you could set it to 100,000 units.
     
    aaronhm77 likes this.
  7. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    DirectX11 is not required and currently the package does not take advantage of it.

    There are options to generate colliders for each LOD level, for example you could generate only low level colliders, some mid-level or just the highest level. Or you could have multiple that are toggled on and off when higher level is loaded.
     
    aaronhm77 likes this.
  8. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Sorry about the question on DX11. I mean, can I use your tool with a project under DX11. No compilation errors?.

    BTW, can i build a planet like this one?

     
    Last edited: Dec 5, 2013
  9. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    It is good that you asked this. I just tested it on DirectX11 and the shaders DID NOT work out of the box, this is due to the shaders being made with Strumpy shader editor that does not support Dx11.

    Fortunately I have already fixed the terrain and water shaders, the atmosphere will be fixed soon as well. I will post the fix as soon as possible!


    You can definitely create a planet surface like that. Here is a quick attempt at recreating the terrain shape:

    $flat_mountains_thumb.jpg

    Below is the terrain module that defines the surface. It is a default mountainous module that comes with the package. I just added the last Curve operator that flattens large parts of the terrain that are under certain height.

    $flat_mountains_module_thumb.jpg
     
  10. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    Seeing the node editor and the use of the term "Module", are you by chance using LibNoise for .NET ?
     
  11. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,454
    Looks pretty cool but $90 is a bit high for me on something like this.
     
  12. houndie

    houndie

    Joined:
    Nov 25, 2010
    Posts:
    146
    Subscribed!
     
  13. kurylo3d

    kurylo3d

    Joined:
    Nov 7, 2009
    Posts:
    1,123
    Not that I have a use for this, but im going to have to disagree with zerobounds. This looks like it is a lot of work with $90 being a bargain..
     
    bloomingdedalus likes this.
  14. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    *Is it possible to use a heightmap instead of those modules?
    *What algorythm do you use for planet mesh generation?

    Looks nice.
     
  15. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Hm the only problem i see for myself is that planet is too small and roundness is very visible for FPS. Is there possibility to increase how many terrains are included in single planet?

    Also can you use custom shaders on planet like RTP terrain shaders?
     
  16. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Good observation. I have used LibNoise (in C++) in the past and I think the term has stuck from there. This project does not use LibNoise though, It is a custom system specifically written for this purpose.
     
  17. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks for comments everyone!

    There truly has been some work involved in creating this, but I am fascinated with procedural generation (and planets!) so it has been interesting. I originally started working on a planet generator back in 2010, then with Java and LWJGL, and later I decided to port the project to Unity. I have tried many different approaches with this and the project has slowly shaped in to what it is today. Making it all accessible for users has been my focus lately.

    The generator modules produce 3D simplex noise that is the basis for the heightmap generation. Using static heightmaps would eliminate the dynamic level of detail feature and they would have to be tiling in all directions, but I can see this kind of feature could be useful. Currently you can only generate the heightmaps with the included tools. You may select not to use the LOD feature if it is not needed.

    Here is a step-by-step breakdown of the main generation procedure.
    1. The planet starts as a cube, each surface being stored as an array of points. Number of surfaces is determined by the subdivision level, starting with six arrays (one for each side of the cube) and subdividing each one to 4 more until subdivision level is reached.
    2. Each point is transformed to a point in sphere surface with uniform distance between the points.
    3. Each point is displaced by a height value given by the coherent noise algorithm for the given points coordinate in 3D space.
    4. The points are scaled to the planets desired radius.

    $sperify.jpg
    The sperifying.

    $subdivision.jpg
    Initial subdivision levels.


    The LOD works by further subdividing each surface to 4 smaller ones and generating each new one with the same procedure.

    You could make the planet big enough and set the noise frequency higher (this makes the features such as mountains smaller in comparison to the planet size) so the roundness effect wouldn't be that pronounced. I hope I can provide you with a test scenario later.

    See above for the terrain/surface count.

    This is something I will definitely look into. There is already an option to select which shader is applied to the surfaces, but I will have to look into what kind of input textures need to be generated.
     
    Last edited: Dec 4, 2013
  18. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    So it does subdivide the whole sphere and not patches?
     
  19. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Initially (when the LOD has not kicked in) the planet can be subdivided anyway the user specifies. So it can be 1, 4, 9 or more patches for each side of the sphere. The LOD will from there on subdivide the initial patches to 4 smaller ones, and those to 4 smaller and so it goes on.
     
  20. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
  21. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Congrats on your release.

    While checking your webplayer, i noticed you use skirts between patches and there are some obvious cracks at the joint edges.
    Nothing important but it is sort of obvious. Do you plan a fix for it?
    Also, i see nodes are enabled/disabled depending on distance, is it? Are these nodes(patches) arrays of vertices or some pre-saved meshes?

    If you can add the possibility to use one height map for the whole planet, it will be great.

    Ill buy it on the next payday anyways. It looks great
     
  22. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks for your interest!

    I will definately consider adding the heightmap import feature!

    About the LOD: New patches are generated based on the distance to the LOD target (the camera). They generate a new set of vertices each time in a multithreaded operation. The LOD always generates new meshes when going for higher detail, it does not use pre-generated meshes. Though it does save the lower resolution ones and re-enable them when the child surfaces are unloaded. I have considered a possible streaming option but currently it is not implemented.

    $inspector_tab2.jpg
    Image: LOD-distance editor


    Here is explanation of why the mesh patches have the "skirt". When two patches of different LOD-level are lined up, the higher resolution mesh will have double the vertices in the edge compared to the lower resolution patch. So if the terrain at that location has lots of height variation, little cracks can form where the lower resolution mesh doesn't have the extra vertices. This would look like a few pixel gaps where the bright atmosphere shader would peek through.

    $seam_closeup.jpg

    I solved this by adding the extra vertices under the edges that copy the color of the last vertex, so the cracks become virtually indistinguishable in the distance.

    The other solution would be to have extra vertices in the edges that make the patches match even with higher resolution patches. This would be more complex solution but I will consider it and try to weight the benefits.

    $seam_thumb.jpg $skirt_thumb.jpg
    (click for large image)
     
  23. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,243
    Nice work!
    So do you generate/use any textures apart from close-up detail textures? Is height color stored in the generated vertices for each patch or read from textures?
    Having an option to generate color, height normal maps for the whole planet would be useful, particularly for nice looking, high performance planets only viewed from a distance.
     
  24. Lostlogic

    Lostlogic

    Joined:
    Sep 6, 2009
    Posts:
    693
    Does it work well with Mobile? I only need procedural planets from afar and do not need the fly-down or close-up parts. ie, my players will only see planets from space.
     
  25. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks! Currently there are only the detail textures. Height and polarity (distance from poles) values are stored in the vertex color channels and read from there by the shader which then blends the textures and colors.

    I think that would be a great feature and I definitely will work to include it as soon as possible. It could also allow the usage of advanced 3rd party shaders.

    Run-time generation has not been tested on mobile devices. I am planning to do a test on iPad soon and I will then post the results and hopefully a video as well. You can of course generate the planets in editor and save the meshes, so they would be just like any other mesh. Polygon count might be an issue for some mobile devices.
     
  26. Lostlogic

    Lostlogic

    Joined:
    Sep 6, 2009
    Posts:
    693
    An option to limit the polygons and only generate the information needed from a space view would be a great feature, for my purposes at least. I could see also wanting the "fly down to the planet" option in some cases, but the ability to turn it on and off at will would be useful.
     
  27. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    I have added a video tutorial of the basic usage to the first post!

    https://www.youtube.com/watch?v=yOC0EKIpNRw

    The polygon count can be adjusted by the user with mesh resolution and top level subdivision settings.

    You also can actually turn the LOD on/off at will by setting one boolean (planet.useLod). You might alternatively just set the LOD level loading distance to fit your need, it will check the distance at (adjustable) intervals and start subdividing when the player is close enough.
     
  28. TRIAX GAME STUDIOS

    TRIAX GAME STUDIOS

    Joined:
    Nov 27, 2013
    Posts:
    49
    HI FRIEND !

    Could be possible in a future version to have heightMaps ? Blending with Specific Zones of the planet ?
    I noticed one can paint on the planet ( which is a great feature by the way ) then the procedurals are added on top of painting ... right.

    The method i would wish is to Chose a Zone and add to that zone a Squared heightmap Gizmo ( much like terragen )



    Then at that Zone add a Common Unity Default heightmap terrain, were we would just to blend "with painting" the edges, or just adding the edges with smoth to zero gradient so it blendd the "Planetary terrain" with the "unity heightmap" zone ... So we could use both Unity terrain your planet technology.

    Also importing height maps to add to the procedural function as a heightmap node would be great ... so we can mix terrains made in Worldmachine terragen then import them to "mix" with the Nodes, were we would add "locators" so we add a node in Planet editor and move the gizmo of that node to that planet zone and that heightmap would appear there ...

    Would be cool to mix This "hibrid of common unity terrains" Your planetary system Also With kind of the same method as Dynamic map sistem http://goo.gl/BzIb6p wch loads terrain tile zones with objects whole scene setups "from disc" ...

    Ok all this together to make a Seamless experience like this:

    1) fly from outspace to clouds to Planetary terrain location ( as you have so far ...
    2) land in a place of interest / in that place be loaded from disc a entire zone with heightmap terrain objects ) Dynamic map system features http://goo.gl/BzIb6p ..
    3) Pick in a spaceship take of and that zone be swapped by a Proxy ( lod sistem ) of that zone, that load and destroy "zones" with unity terrain objects above it that are just seen by the camera ... kind of Lod sistem Like Smart Lod http://goo.gl/yCM8w7 or Instant Oc http://goo.gl/oz4YS1

    I know is kinda requesting too much, but be able to navigate from sky to a zone , then load in that zone a entire level from disck, the even enable to fly again to other zone dynamical, from ground to sky, would be like one greatest achievement in whole story of unity / A big dream come true of a Unity Extension to me ...

    I will be saving some money during some months till i am able to buy this extension, lets say in the next 6 months ...
    I really hope by then you could have some of this features somehow worked out !
    If you reached such amazing Solution im sure you can !!

    FEATURES REQUEST RESUME FOR THE WHOLE NEXT YEAR !.
    - Enable heightmap loading and mixing in Planetary Node editor ( 1 month )
    - Enable Zones to load and "splat" heightmaps nodes in certain planet areas ( 2 months )
    - Enable to land in Zones and swap to common unity terrain ( 4 months )
    - Enable to load from disc Terrain with areas objects inside them / position them in planet places ( 6 months )
    - ENable to land and take of seamless from this areas - This areas would load dynamically scenes inside scenes areas inside areas ( 8 months )
    - Enable Local Voxel Terrains Editing inside Planet ( imagine to land in a cave, and enter inside the planet were a area is there ( 10 months )
    - Enable Volumetric tYpe of Clouds and Planetary Rayleigh with Time of day ... ( 12 months )

    Hope you are alot successful and this development pays you well enouph for you to be able to do all this !

    This 8 features Would be my Dream cometrue ...

    Some inspiration for you here : http://en.spaceengine.org/

    THANKS IN ADVANCE For availing this features in your Amazing development.

    Best Regards.
     
    Last edited: Dec 6, 2013
  29. TheNorthridge

    TheNorthridge

    Joined:
    Jan 4, 2012
    Posts:
    193
    Damn you Henry, you had me when you were painting and removing continents! *shaking fist*

    Any chance of a Demo with a First Person controller? Id love to see how it fairs at ground level.

    Any chance of making the water nicer? Possibly placing or adding lakes?

    Thanks! -Sean
     
  30. Lostlogic

    Lostlogic

    Joined:
    Sep 6, 2009
    Posts:
    693
    Can you programmatically change how a planet looks? In my game for example players can fly to many different planets. It would be great if I could dynamically generate what the planet looks like based on parameters I have about each one (atmosphere, temperature, etc.)
     
  31. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Btw the mountains seem crushed. A little too "flat". Can we improve it?
     
  32. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    nice asset and from what i see almost exactly what i need so i probably purchase it. i specially like the "riverbed"/crack features at the two rightmost planets in the middle.

    some questions:
    simplex noise seem to be patented (have heard about it recently). do you know more about it. do i get sued when i use your package?
    what about craters? any serious planet generator should have them. any chance for a node for them?
    how is coloring of the planet controlled? by a colorramp texture?
    your small planet example contains an atmosphere. how is that controlled? are there clouds and height dependant fog? can you please elaborate how the atmosphere work?
    what about gas giants?
     
    Last edited: Dec 7, 2013
  33. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Just bought it and it works great so far. And i only needed the planet lod thing anyways.
    You should add the heightmap import thing, also the brush is jerky and not accurate but still works.

    I will write some specific shaders for your pack and share here soon.
     
  34. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,243
    I always wondered about the usage rights of simplex noise too though many must have used it before - Nokia seems to own the patent: http://www.google.co.uk/patents/US6867776
     
  35. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    oh, good move. Thank a lot.

    @OP.
    On my buying list for the next payday. I'm very very happy about the option that allows us to save meshes planets. This will solve many problem. ;)

     
    Last edited: Dec 9, 2013
  36. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Atmospheric scattering effect improves things alot.
     

    Attached Files:

  37. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    i have purchased your package.
    with concern i realized that the many examples from the image entitled "create endless variations" are not included. thats a bit disappointing for me as i thought i could build up on them already.

    on the last page of the documentation pdf you show a "dense planet mesh" with 32x32 and 8 subdivisions. am i right that each cubeside consists of 8192x8192 vertices then? i have used a 254x254 mesh subdived 3 times to achieve 2000x2000 per side. it calculates for around 2 minutes. so these resolutions are not suitable for realtime use. can the calculation be done in threads? does your example also take that long? what are the differences/pros/cons of your small resolution with many subdivisions versus my high resolution with lower subdivisions? is my way better to have fewer distinct meshes (fewer drawcalls)? anything i should be aware of?
    when a dynamic lod calculation is incurred are the meshes "above" kept in memory or removed? so when the lod level is reduced does it get recalculated or taken from memory?

    the following image is taken from the night side of a planet so the sun is pretty much behind the planet. as you can see the farther mountains appear in a blueish color like the atmosphere. i suspect this is an artifact of it. also the mountains are still lighted albeit no sun is seen at all.

    $nightmountains.png

    and i still wait for a response to my other questions (same like some other users). i think you made the thread to advertise and discuss your package. refusing to respond to your customers questions and concerns is one of the most horrible mistakes you can do imo.
     
  38. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks to everyone for comments! I will go through them and answer questions the best I can.

    I have already started working on a update and I will be considering adding the most wanted features!

    Lots of ideas here, thanks for taking the time to write them down and I will put them in to consideration. About the heightmap blending with bounding boxes, that is definitely interesting feature and maybe could be done by modifying the terrain painting system. I will add it to the list as well.

    Thanks! I am clad you liked the terrain painting. :)

    The first person demo would be nice and has been requested before, I will try to put one together as soon as possible.

    The current water shader could use some work. I have to think what would be the best way to improve it.

    You could create terrain modules for all the terrain types first (moon, earth-like, desert etc) to get the basic shape. The modules could be then set in the script (planet.Terrain property) or you could create prefabs for each. Surface and atmosphere colors can be set in the script as well for each different type (SurfaceColor script attached to the planet has the color values for terrain, atmosphere material has the basic atmosphere tint).
     
  39. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Maybe this could be remedied by adjusting the terrain module or by painting over the mountains to get them stand out from the surrounding?

    I am clad to hear that. :) I knew the mesh export option would be useful for many people who would like to further customize their planets.
     
  40. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Good to hear it has been up to your expectations! Heightmap importing must be the most requested feature and I will try to add it soon. The brush painting might get slow if the painting resolution is high. You could try different settings for painting, for example you could temporarily change the mesh resolution higher to get more accuracy for painting, or lower to get higher speed. I will work on the system to get it working better overall.

    Wow very nice work! And very generous, I bow to you sir. :)

    Atmospheric scattering is one of those things I have been wanting to add for so long but haven't gotten around to it because of more fundamental issues.
     
  41. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Firstly, thank you for purchasing the package, I hope it stands up to your expectations! I apologize for keeping you and other users waiting. I have been really busy since last weekend but I will now take the time answer everything, please ask if anything is left unclear!


    Simplex noise

    Good that you have brought this to my attention, I was not aware of the patent and this will be fixed soon by replacing it with standard Perlin noise. There is no specific reason why simplex noise is used in this project other than it being newer and slightly improved noise function. I have already tested it and it gives nearly identical results in terms of look and performance.


    Craters

    Craters can be created by painting them on the surface but currently there is no generator for them. I have planned to add cell noise generator later that could be used for generating craters.

    The planet coloring is done in the shader and the colors are controlled by the SurfaceColor-script attached to the planet.


    Gas giants

    Gas giants are currently out of the scope of this plugin since they do not have a solid surface, this project being foremost focused on the terrain part of planets. You could of course use this to fake one by setting the height variation to zero and creating a appropriate looking module.


    Example planets

    I am sorry about not providing those. When I took the screenshots I was just creating different planets quickly, taking the shot and moving on to next. Later I realized I should have saved them as prefabs. Thought the modules used in those are included in the "PlanetaryTerrain/Resources/Modules"-folder.

    The one with the riverbed/crack features is called "MountainsAndRavines".


    Meshes and generation

    8x8 grids with 32x32 each makes 65536*65536 for each side of the cube. That takes about 10 seconds to generate in editor with my machine (Intel i5 750 @ 4Ghz).

    3x3 grid with 254x254 makes 580644x580644 and takes a few minutes. Thats a huge amount of polygons though (about 8.6 million) and definately not suitable for realtime use.

    The calculation is done in threads when the game is running but not in the editor. I will look it to making the in-editor generation multithreaded as well.

    The trade-off is between few large meshes and few draw calls against many small meshes with a lot of draw calls. I think this depends very much case-by-case to determine which would be the best approach. High resolution patches take longer to generate if you need to further subdivide them.

    If by "above" you mean the higher detail ones, they are taken away from memory. Lower detail ones are kept in memory.


    Atmosphere

    The atmosphere itself is a simple sphere with the normals turned inside. The shader reverses the lighting and creates the fading effect in the edges. There is also a script called FogController attached to the atmosphere objects. It controls the fog in the scene and has a curve to set the fog amount based on altitude.
    I think this is related to the fog explained above. It does not take account the lighting level.
     
  42. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,454
    Wow, kudos on the support. Nice to see such clear and cohesive answers to everyone's questions from an asset developer =)
     
  43. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    if your forumnick refers to your rl name mine is also Henry ;).

    from what i have seen it seems very powerfull and good to customize. as i need to generate hundreds of planets procedurally its a good start.

    i have also used simplex for experiments some time ago and did'nt know about the patent. its a "shame". Jasper Flick told me about the patent some weeks ago.

    yes that would be a great extension. makes planets more realistic.

    after purchasing and reading the documenation i'm aware about the workflow now. i just asked because of my need for doing it at runtime instead of the editor.

    i'll experiment with it. but when i have a package for planets i use it for all planets and moons and don't want to distuinguish.

    examples are always good in a package to show the usage of it. but i guess you will add some over time.

    thanks.

    ok. i suspected something to be wrong with my understanding of the lod process. i thought when its subdivided a mesh is replaced with 4 meshes of the same resolution. but 8 subdivisions does not mean 8 times 4 times the amount of patches but simply 8 patches along a side of a cube. so now it is clear to me.

    the resolution achieved in the last image of the documenation is sufficient. it was only a mistake from my wrong understanding using this much vertices. 10 secs are fine so i don't need that feature.

    i will run some tests but i think that i will have a fixed resolution and don't use the dynamic lod. this prevents "popping up" of the terrain.

    i mean the lower detail ones which are subdivided and they are kept what is fine.

    i will also study this. altitude fog on a spherical atmosphere is nice.

    there is so much stuff to look into to be able to use your package properly and achieve what i want.
    anyway. thanks for the package and your efforts. its definitely a great start for me.
     
  44. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Thanks! I do what I can. :)


    Heh, yeah it is my real name. :)

    I hope this helps to accomplish your goals. Please experiment and dont hesitate to ask if you have any further questions!

    I wish I would have learned about this a little earlier too. I have now submitted an update that will replace the simplex noise with standard Perlin noise. It will slightly change the generation results but they are very similar. Sorry for the inconvenience!
     
  45. blackanub1s

    blackanub1s

    Joined:
    Dec 12, 2013
    Posts:
    21
    Hello,

    I am very interested in your project, I saved some account to offer me.

    Do you plan to add the generation of vegetation ?

    Thank you.
     
  46. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    Are the lod distances relative to planet core, the patch center or to current terrain ground?
     
  47. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Hey, thanks for your interest!

    There is included an object placement script called PlacementHelper, you can use it to paint objects on to planet surface or use it to automatically generate objects per vertex to certain areas and lod levels. For example you can set it to create objects for the highest lod level between heights 0.5 - 0.6. Currently if you want more object types than one, you must attach multiple PlacementHelper-scripts, one per object. I hope to improve the system at some point but you can use it as a basis for object placement at this point.

    The lod system first finds out which point is closest to the camera: one of 4 corners of the surface or the center and then calculates the distance to that and decides if the surface should be subdivided.
     
  48. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,878
    So, its the patch center?
     
  49. HenryV

    HenryV

    Joined:
    Apr 25, 2012
    Posts:
    100
    Yes, the center or one of the corners if they are closer than the center. If you want to check the code, its located in the Surface-script in a method called GetClosestDistance(). That is called in the beginning of surface.UpdateLOD() to determine if surface should be subdivided or subsurfaces unloaded.
     
  50. Marionette

    Marionette

    Joined:
    Feb 3, 2013
    Posts:
    349
    just about to purchase this but a few questions first:

    has the asset already been updated with the dx11 shaders yet? - this one is the biggest deal for me

    will there be a charge for updates/fixes in the future?
    plans for better water?
    atmospheric scattering included?
     
Thread Status:
Not open for further replies.