0
$\begingroup$

I've come across a nice project on the web (https://coastalworld.com), and found its texturing to be quite great. I wanted to know how is it possible to properly create a terrain and apply textures the following way:

enter image description here

What I found also interesting is that this doesn't stretch on hills, for example.

What would the workflow be to achieve this?

Maybe they created the terrain and applied a picture on it?

Here is the project: coastalworld.com

What I have tried is to paint the terrain with several textures using nodes. But I assume they did not make use of such technique, since things look pretty "clean" between sand, road, and grass.

$\endgroup$
5
  • 1
    $\begingroup$ Any reason to keep this project you found online a secret and not share a link to it? "Maybe they created the terrain and applied a picture on it?" - yes, I think that's the gist of it. What have you tried and what are you struggling with? $\endgroup$ Jun 30, 2023 at 11:56
  • $\begingroup$ it's probably a texture applied to a plane, nothing special or hard to do $\endgroup$
    – MikoCG
    Jun 30, 2023 at 12:01
  • $\begingroup$ @MartynasŽiemys my apologies, I didn't know that was necessary, but here is the project: coastalworld.com What I have tried is to paint the terrain with several textures using nodes. But I assume they did not make use of such technique, since things look pretty "clean" between sand, road, and grass. $\endgroup$
    – Daniel L
    Jun 30, 2023 at 12:09
  • 1
    $\begingroup$ as I said it is a texture applied to a plane... they didn't paint it with textures nor with nodes, they just opened photoshop or anything else, set brush to sharp and draw the whole texture which then they put on the 3d model... (or painted it directly in 3d software, you can paint your models in Blender as well, just go to texture paint and set your brush to be sharp $\endgroup$
    – MikoCG
    Jun 30, 2023 at 12:14
  • 1
    $\begingroup$ The context helps a lot. So this is a WebGL game and it runs in a browser. That explains quite a lot. Of course this kind of information is essential if you want to get meaningful answers. $\endgroup$ Jun 30, 2023 at 13:18

1 Answer 1

1
$\begingroup$

As it's a WebGL game they probably wanted to save space, so usage of image textures is limited(so it downloads faster). And you can indeed see that web browser does not download any image textures while loading the game if you check with any developer tools like the ones you get in Chrome browser after hitting F12 .

There are 2 likely scenarios: the textures could be made procedurally or there could be no textures at all and everything you see could be geometry. I think geometry is more likely in this case, but this is obviously still just a guess.

Blender has excellent tools for both scenarios. You could use material nodes to texture your objects in the scene procedurally, and you could use Geometry Nodes to randomly distribute various instances of geometry to make the various spots you can see in the game. Actually, you don't necessarily need Geometry Nodes. You can also do it by hand and/or use other tools like array modifier and Randomise Transform functionality, and obviously there is nothing stopping you from mixing all techniques.

Material nodes could look something like this, but you would add more different layers of dots:

enter image description here

These procedural nodes are native to Blender and will not work with other rendering engines(a game running in a browser is a good example of where it would not work). Procedural textures would probably need to be coded in the rendering engine or some complex export add-ons would be needed. Maybe some game engines(like Unity) have needed functionality for this. I have limited knowledge in this area so I cannot advise further, but I know that rendering geometry is way more universal. If you wanted to explore Geometry Nodes workflows, they are a bit more complex and depend on your specific situation even more, and unfortunately it's unlikely I would be able to provide meaningful examples and help in a single answer. I would advice watching a few tutorials and attempting to achieve what you are after and if you struggle with something specific you could always ask more specific questions about that here on BSE.

$\endgroup$
1
  • $\begingroup$ This is quite a detailed answer, and does provide me a sense of direction I should follow. I appreciate it. Thank you very much! $\endgroup$
    – Daniel L
    Jul 1, 2023 at 9:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .