0
$\begingroup$

I'm making a terrain for a video game. Is there a tool to spread a lot of trees/plants/rocks on a terrain? For example Unity has a built-in terrain tool for placing them, are there similar methods for Blender? Also, I don't want to decrease perfomance for every tree. Thanks!

$\endgroup$
2
  • $\begingroup$ Hi and welcome to BlenderSE. Your question is very broad, please specify if you want to export your scene to unity or if you want to use Blender's internal Game Engine. $\endgroup$ Commented Aug 29, 2016 at 20:27
  • $\begingroup$ Yes, im gonna use this terrain in unity3d 5. $\endgroup$ Commented Aug 29, 2016 at 20:37

2 Answers 2

4
$\begingroup$

You could use Particle System with Clouds texture (or any texture, even hand painted) to do this.

Steps:

  1. Add Particle System to your terrain (and set it as screenshot below shows).

  2. Add texture to this Particle System.

  3. Go to Texture tab, select created texture (and set it as screenshot below shows).

Settings:

tree settings

Blend file:

Update:

To add custom generation of trees you need to create New Texture, then in Texture Paint Mode create Material (Material Diffuse Color) and choose it in Texture tab. Now you can paint wherever you want.

tree_2

tree_3

$\endgroup$
13
  • $\begingroup$ Yeah, tha''s what i want. But how can i attach those trees to certain areas, for example along the roads? I know i should use weights, i made them, how can i apply my Particleystem to them? Thanks for reply. $\endgroup$ Commented Aug 29, 2016 at 20:44
  • $\begingroup$ Check my update, and maybe check this excelent tutorial from Gleb Alexandrov as an addon to the whole process: youtube.com/watch?v=eshOzshjt90 $\endgroup$
    – cgslav
    Commented Aug 29, 2016 at 21:00
  • $\begingroup$ I did not understand this method with texture ;( $\endgroup$ Commented Aug 30, 2016 at 11:42
  • $\begingroup$ What exact part of it? Do you know how to add Particle System? Do you know something about Texture Paint? I can make some more detailed answer but you need to tell me specifically what do you need. $\endgroup$
    – cgslav
    Commented Aug 30, 2016 at 19:27
  • $\begingroup$ Yes, i understand what the Paint Mode is, i know how to use UV's and paint this black line, but i dont understand how this black line can help me to avoid Particle System objects placement. Also i dont have "Textures" menu in particle system (as you have on your screenshot, i have the last version of blender(2.77a) ). $\endgroup$ Commented Aug 31, 2016 at 21:43
6
$\begingroup$

If you intend to export a whole terrain to unity (or any other RT 3D game engine), it would be wise to create your terrain, the trees, rocks and so on as independent objects, then import them into unity and let unity's distribution method do the work.

The reason for this is that unity works with instances of objects, while Blender would produce actual geometry or - if you do not intend to join your terrain into one object - many objects with possible redundancy of materials. That means more draw calls which lead to a heavy load on the engine.

Besides from that, you would still need to create collision meshes, which means even more redundant data or, if you chose to join all objects into one mesh with submeshes, it would be nearly impossible to generate the collision meshes automatically.

$\endgroup$
5
  • $\begingroup$ Thanks, so even if i use Blender tools for spreading my objects - they will export as individual ones? $\endgroup$ Commented Aug 29, 2016 at 20:50
  • $\begingroup$ No, but the performance would be horrid. $\endgroup$
    – Jake Dube
    Commented Aug 29, 2016 at 21:00
  • $\begingroup$ It's a huge problem to make normal terrain in unity, for example placing roads and e.t.c. It becomes painful when u want to change it ;( What should i do? $\endgroup$ Commented Aug 30, 2016 at 8:08
  • $\begingroup$ @Stanislav - "I can only show you the door. You're the one that has to walk through it." You can exchange one pain for another. I don't know anything about your project, but I know that one normally expects to have collision data and a decent not too heavy CPU/GPU load from a game. So next step would be: Try your method. $\endgroup$ Commented Aug 30, 2016 at 10:53
  • $\begingroup$ I think the best way to do this - is to make base terrain - without trees, buildings, houses, just terrain, roads and mountains (or use separate objects for mountains, i'll play with it), then just use special script to export my mesh to Unity terrain object, and then use Unity's tools for surrounding. $\endgroup$ Commented Aug 31, 2016 at 22:44

You must log in to answer this question.

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