Terrain Generation

Hi I need to create custom terrains, so I wonder if someone can recommend ressources
to create heightmaps, splatmaps. I have a licenced copy of Bryce7 from the past :slight_smile: and it
is a good start but cannot, eg. export a splatmap.

Hi @iso74,

Two great programs I’ve used in the past:


1 Like

Thank you @Leonidas. And sorry I will definitely reduce pn you directly, as I have the feeling
it is not so much wanted. Of course this forum hold a lot of smart people who can help.

Just one question about the world-machine.com product. I read they have a free version, for uncommercial use, do you know if it would be OK to export only heightmap and splatmap and use my own material assets?

Yes, I think you can do this with World Machine (free version), though it’s a program with a steep learning curve. But definitely the most powerful one right now on market.

Thanks @Leonidas for the info.
As having a look in your Uranus Demo there are several images used for the terrain,
are they used all, or only the heightmap and the splatmap for the script?


There are two scripts that generate and color the terrain, each requiring both a special image and related materials/materials.

  1. The heightmap generation requires to reference the base terrain material and the heightmap image. Optionally the terrain can use ambient occlusion maps for better shadowing.

  2. The optional terrain splatmap script must reference the same base terrain material, a colormap (splatmap) and a number of materials per each splatmap channel.

Each splatmap material can use a diffuse/normal and a parallax map. Though take note there is a limit of 16 max textures per material in WebGL so if you use all of those maps you will have to disable Skybox lighting in your material settings.

It can be complex to set it up for the first time so the best way is to observe how the current terrain is being handled.

1 Like

Here is also another project I’ve just made public that can work with tiled terrains, meaning larger terrains with higher resolution that work with frustum culling to keep performance in good levels.


1 Like

Thanky you so much @Leonidas, I never expierenced such a helpful person like you, I must say.
I see it is a complex thema though and I have to dive in, maybe I am too naive to think I can take some program create a terrain and export the images and use them in my project, and create some textures in Photoshop.

Again thank you so much!

1 Like

Sorry one more question. I want to start “painting” and installed your Chrome extention like this:

But there is not that “Enable in editor” button…

That’s interesting, not sure what’s the issue. Can you share a screenshot what you see when you click on the PIC extension? Make sure you are signed in and you’ve purchased that product (it’s free, just click the Buy button)


Good check these steps:

  1. Signed in
  2. Click buy to purchase it and have it turn blue.

Of course it works now, silly me.

1 Like

One thing, how do I get to this “paint” dialog?


For the Pirron Island Forest Demo you can find all painter instances under the Instances entity. As long as the SDK has loaded using the browser extension, select one of them and start painting. One thing you need to make sure is to set in the editor the active camera used in the viewport.

Each script uses for culling a camera (to enable LODs), in this demo that would be the Free Fly Camera for in editor use. Make sure to select that in editor before starting painting otherwise you will end up painting invisible instances (they will get added but you won’t see them because they would be culled).

If you find an issue or there is a bug submit it on the Uranus SDK repository to take a look, to avoid spamming the forums:

Edit: For instances that use a streaming file like grass or flowers you need to provide your own Playcanvas API key. Check here on how to generate one and how it’s used:


Hm, unfortunately I see no “Paint” dialog here:

Try raising an issue about it on the Uranus SDK repo, sorry @iso74 I am kind out of time to be of more help.

No worries, it works now, I will not disturb you further.

1 Like

Great, happy it works! Be extra careful with the Clear All Instances button since it does exactly what is says without being able to undo.

It may erase hours of work if you aren’t careful, need to improve that UX a bit.

Uff, thanks for this advice. Anyway I now must first think of buying an Editor license to have a private project. I am skeptical though, I worked with other editor in the past (e.g. Coppercube) and it was more intuitive, those functionionallities I really need and appreaciate comes as addons from your company :slight_smile: Btw. the mistake on myside was that the paint script wasn’t loaded by default.

1 Like