Home 3D Art Showcase & Critiques

Planet Generator - Dots In Space

polycounter
Offline / Send Message
Davision3D polycounter
I'm currently working on this planet generator for my physics sandbox space artillery game called Dots In Space.

Here are some examples:




It is done mostly inside a UE4 Shader/Material with lots of parameters that get randomized. Basically lots of mixing but only 5 textures, which are normal maps with greyscale which often is a heightmap, plus noise masks and 2 distortion textures. It also randomizes all those textures. This is all realtime and pretty fast which also allows me to animate through it:



I also made a twitter bot with it: https://twitter.com/ProcPlanets
You can see there that textures details get a bit repetitive. There also are parameters for each texture including chance which is pretty high for those mushy forests currently. Furthermore they can be flagged as noisy or stylized, it should be kinda stylized where everything is kinda bigger but also not too much so the flags keep that kinda in balance.

I have those 5 texture layers roughly categorized in a base layer (often smooth/blurry), a ground layer (often earth details/rocky or kinda noisy), a negative layer (like for cracks/valleys and rivers), a top details layer (currently mostly green forests) and a mountains top layer. Each layer has its own random ranges and pulls from the textures with that category (a texture can have multiply categories) and also has some special settings.

The heightmap for the water is generated by comparing the result to the base color. This is then also used to generate brighter shores and often beaches or more rough cliffs. There is also a chance that water is switched with a earth layer, so it is more like deserts instead.

Mixing seeds works too:


I'm currently at the point where I want to give it another pass with lots more textures to pull from and better distortion textures. It is currently lacking a lot, for instance craters and actual rivers are completly missing. So if everyone has tips how I could go about doing lots of normal/heightmap textures with a fast workflow or a good tool for making distortion textures (kinda like flow maps) that would be great. These can be quick and dirty but trying to pull heightmaps and normals from aerial photos or textures does not work so good because you can't really pull heightmaps from that.

Free heightmaps sources would be great, if anyone know any? Otherwise my go to is Zbrush, draw back is that tiled sculpting is flawed and it will be a lot of work.

Here is what I meant when I said it is for a physics sandbox space artillery game:


Here are settings turned on that show the gravity of the planets and a launch force scale. Planets are destructibles so the can be partially destroyed, goal is to destroy the opponents planet and there is also a mode where the player wins who destroyed the most. There are tons of settings, that lets you define solar system generation, lots of gameplay stuff, visuals and physics which can then be saved in presets. Furthermore everything can be randomized and you can just warp to a new star with everything different:



The planets are often small on screen but there are also picture in picture views for the start and when a player planet gets damaged and you can freely zoom and pan. Players can also adjust the look of their planet on the start of every new planet war. This is versus AI or local multiplayer and there will also be a endless mode with the warping to randomly generated systems.


Replies

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Very cool! 
    I would try to use Substance Designer to create the height / normal maps. Your stuff has stylized look so you could probably go with a very simple graph, and just change seed values to generate the different maps.
  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    Obscura said:
    Very cool! 
    I would try to use Substance Designer to create the height / normal maps. Your stuff has stylized look so you could probably go with a very simple graph, and just change seed values to generate the different maps.
    I have Substance Designer but never got into it. I assume that means then generating height/normal maps from scratch. What would such a simple graph include?
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Not entirely. Substance Designer comes with a lot ot noises and other heightmaps built in. You can play with them, blend, and do other stuff to create something that suits your need.

    Here is something very simple to give you an idea:


  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    I found a program called World Machine, here are my first terrains with that:









    It is a powerful tool but you can get lost in a lot of nodes when you try to make something specific like the crater landscape I made there:

    Still have to look more into it but one drawback is that the tiling feature does not work so good. It also appears to be hard to make interesting variations.

    Obscura said:
    Not entirely. Substance Designer comes with a lot ot noises and other heightmaps built in. You can play with them, blend, and do other stuff to create something that suits your need.

    Here is something very simple to give you an idea:


    Thanks for the graph, definately on the noisy spectrum but still nice looking. I recreated it and then went to look for other substance designer terrains examples but could not find anything outstanding. But I found World Machine in the process. Also graph based and it has specific terrain nodes like errosion which help a lot.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Unfortunately there is no erosion atm but some of your examples can be recreated in some way in SD in an acceptable quality. The crater one can be done with some regular noise and then subtracting some cellular/ voronoi one. I also see "turbulance/plasma" ones...World Machine is also very good for this. I personally don't have it, but I've seen many good usages and examples for semi realistic results. I would say both of these works, and if you take time and you do similar stuff inside SD to what you do in your UE materials, you can get very close. I mean I only used very few instructions/nodes, and you made your using much more complex graphs. I also see that they probably use similar methods (domain warp, blending etc) in World Machine. This is kind of a complicated topic to recreate procedurally, but you should not underestimate Substance, it is very powerful! 

    Anyways, use whichever gives you the result that you want easier for you. And I would say for your screen size and art style, any of these can work and still faster and more comfortable than hand sculpting them, unless you are going for some very specific closeups  :)
  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    Yea, Substance is definately very powerful and much more versatile. Right now I mostly need quick and dirty very varied stuff. World Machine is pretty good in that regard. Still, I need more varation so I also plan to do more alienish and stylized landscape things in Zbrush. I also still need to figure out how to make decent flora stuff that goes beyond just mushy forests.

    Here are some examples of what I can get with stylized textures, these are mostly stylized rocks textures with a good amount of distortion:

    Maybe I also end up implementing a Stylized slider and a Noise slider in the visuals settings. Both directions can create very interesting results while everything together might be too wild.
  • adam
    Options
    Offline / Send Message
    adam polycounter lvl 19
    This is so badass. Been following on Twitter and Spencer pointed out that you're from Polycount. LOoooooving this!
Sign In or Register to comment.