Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Some little wishes for Unity Terrain Tree painter.

Discussion in 'World Building' started by Milanis, Jul 22, 2019.

  1. Milanis

    Milanis

    Joined:
    Apr 6, 2018
    Posts:
    52


    Hello Unity Development Team!

    I am looking for some features for Unity's terrain tree painting feature and I am not sure if these might be hard to achieve or already exist.

    #1 Drag and drop support for adding new Trees. As you can see on the top, I have to add a lot of single prefabs into the tree painter library and depending on our current levels, we may have a lot more to add. Just a simple drag an drop from the project folder into the "Trees" frame would speed up work a lot. It would even get better just to drag a folder with prefabs to it and the terrain would add all prefabs that are in this folder into the list.

    #2 Saving these added prefabs to a library list. We have a lot of sub-levels and within I need to remember/list all prefabs and adding them to each new terrain over and over again. It would be a lot easier if we could save all to a library file which I could load into another terrain and use it out of the box.

    #3 Height-offsets or mesh-render recognition: Once we have the terrain, we keep it simple but adding a lot of custom prefab rocks by hand. The problem with adding any tree now is that some bushes of course just get added to the height-map terrain but having no way to add then at the same height like some cliff-prefab that is sitting a little above the terrain. Some Y-offset function would save the day!!! Even better if the painter would recognize meshes that are on the terrain and stick the painted prefab on top of these meshes (while of course being connected to the terrain)

    #4 Enhanced rotation: Not all Trees are growing straight or are looking into the sky perfectly. It would be awesome to set some slight XZ rotation for getting trees painted a little bit more realistic.

    #5 Painted Tree/Prefab interaction: Sometimes I need to rotate or move a bush/tree just a little bit but actually can't select and move the instanced and painted asset. I actually have to delete it with the delete brush and re-paint it.."which is a pain in the rocks"..

    #6 Convert placed prefabs to terrain paint data: Yes it sounds strange but for me it's faster and easier to place all trees and bushes by my own since the scenes are not big. It's an artistic move and I need to have full control over each tree and bushes place, scale and rotation for the perfect style and look per tree/bush. It would be a perfect world if I could just place my prefab-instances like I want in the scene and after that (as long as the original prefabs are also listed in the terrain paint asset list) convert/move these into the terrains paint tree data, keeping all custom position rotation and scale.

    #7 Paint along normals + random rotation features: I have a lot of small rocks and stones to paint on the terrain. Sadly..very sadly I just can't a) paint these along the normals of the terrain and b) adding some random rotation on these pebbles, rocks and stones.

    #9 Multiple selection & painting: Is there really no way to select more than one tiny rock in the list to paint randomly a bunch of different rocks and stones or even trees? I am wondering if I missed a secret button and would love to know if its possible to use this very basic placement function already.

    Thank you for reading. All of these points are things that would speed up my work as Worldbuilder a lot.

    Kind regards,
    Tobias
     
    Last edited: Jul 31, 2019
    wyatttt and Gokcan like this.
  2. Milanis

    Milanis

    Joined:
    Apr 6, 2018
    Posts:
    52
    UPDATE: deleted #8
     
  3. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    827
    Polybrush can do a lot of these. You should check it out.

    It definitely needs the ability to quickly tweak painted/instanced items you've just placed, though.

    I've always thought Unity should have a built-in general-purpose prefab "favorites" collection or palette window you can drag instances of object to your terrain or hierarchy to/from. Essentially #6 / 5 should be reversed and terrain paint data should just be tweakable on an individual object level.

    One thing I've always thought would be useful is to paint a side of a hill or other mesh wall with a brush and have instanced rock wall prefabs scale and stretch to line that painted wall area as best as possible. This would be a great way to decorate flatter areas with prefabs easily without fighting randomness and spray behaviors. It could help with your y and your normal issue. Polybrush may be able to do something similar, but the key difference is that the painted prefabs would be generated in such a way that they tend to stay within the bounds of the painted normals as they rise off the surface upon being generated.
     
  4. Milanis

    Milanis

    Joined:
    Apr 6, 2018
    Posts:
    52
    The main problem with Polybrush starts with the second line in the documentation: It is only compatible with Unity and ProBuilder 4 meshes. If you would like to work on Unity terrains, please use the dedicated tool instead.

    As a Worldbuilder who is actually forced and restricted by the projects guidelines and given tools, Unity terrain paint is the only tool I can use for now - and within I stumbled over feature requests that goes back to 2010 like multiple prefab paint. Of course I just can wish that some things may get addressed at some point in the future. ♥
     
  5. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    827
    Yeah, I see where you are coming from.

    Honestly, I think there should be an option to convert Unity terrains to regular meshes and still have them work seamlessly with terrain as long as height isn't altered. Then, if you want terrain back, convert it back.

    The advantage of this conversion to mesh would mean that meshes could experience the similar GPU optimizations and linking to one another that terrains experience, plus it gives one the ability to author most of the terrain using heightmap, which helps with object placement and other kinds of generation, then, when you're ready get into caves and overhangs or any real major sculpting, you can keep the terrain authoring and go from there modifying it with polybrush. You can also add/tweak objects in this phase.

    An alternative workflow, you can do your sculpting in blender for a terrain tile, then take that into Unity with coloring on the UV map texture, and convert that into a mesh terrain you can paint on with Polybrush. I much prefer Blender's tools for sculpting something like terrain than polybrush (currently) anyway.

    If they upgraded Polybrush to have decent sculpting capabilities like they did with standard terrain brushes... -- that opinion could change... D:
     
  6. Milanis

    Milanis

    Joined:
    Apr 6, 2018
    Posts:
    52
    The Tech-Artists actually working with the terrains tree data when it comes to wind affection, etc. so similar issue - it has to be Unity terrain. And within my current work, I am actually finding more things that would be interesting for Worldbuilders. Nothing against the exceptional work from the Unity Development Team, they're doing awesome work.

    For example, running into this issue right now: Navmesh baking with Unity terrain tree/rock data is excluding rocks:


    There is no solution since 2012 (7 Years) except some old shady Ctrl+Z Undo trickery to ignore two-three single prefabs from nav-mesh baking?

    I would love to keep the discussion very friendly with the main emphasis not finding workarounds (I am knowing about workarounds and plugins) but actually improving an existing standard system that actually get a lot of updates, but at topics that would be on my personal worldbuilder-backlog for "yeah..nice to have but not important".

    Kind regards,
    Tobias
     
    Last edited: Aug 1, 2019
    wyatttt likes this.
  7. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    815
    So far, the only solution to the navigation issue is to simply not use it, and instead use Astar. :^)
     
  8. Milanis

    Milanis

    Joined:
    Apr 6, 2018
    Posts:
    52
    @ unity developers

    If you don't mind I'll keep this list alive.