Announcement

Collapse
No announcement yet.

Interactive Tree Creator

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [RELEASED] Interactive Tree Creator


    Here's a brief overview of most of the features:



    Comparison with Dynamic Tree & Plant Generator, my first tool: https://goo.gl/ZBAU5L

    Main features:
    • Easy procedural tree creation tool with many parameters. Separate SEED values for roots, trunk, branches & leaves.
    • Many dynamic features, all working along with optimized instanced meshes. Tree chopping with physics simulation & chop-progress stages, wind & force reaction (impulse & constant), falling leaves (idle + from forces + from chopped tree ground impact), falling fruits & debris (twigs, etc.) (from forces + from chopped tree ground impact) – all can be specified by user.
    • Each tree type can have individual parameters like falling leaf type, chopping resistance, ground impact debris and more.
    • Branch material blending. Eliminates harsh mesh/texture transitions between branches & trunk or child branches & parent branches. Tree roots also blend with ground without harsh transition.
    • Smooth in-game wind direction & strength change.
    • Possibility to hand-edit main trunk & branches using splines.
    • In-game feature examples included, all with easy implementation.
    • Comes with a set of diverse bark & leaf textures + 20 tree presets, all ready to use.
    • Leaf map texture creator included.
    • Automatic billboard & LOD mesh generation.
    • Automatic collision generation, using performance-friendly capsule shapes.
    • Made 100% with Blueprints, all clean & commented.

    Cheers!
    Last edited by Slavq; 10-03-2017, 05:28 AM.

  • #2
    Looks really cool! How is performance in VR ?

    Comment


    • #3
      Originally posted by motorsep View Post
      Looks really cool! How is performance in VR ?
      Thank you! I don't have a VR set unfortunately, but of course it all depends on generated trees, LOD settings, tree density, etc. This tool is designed to produce a regular instanced static meshes, so you can control everything (LOD distances, etc.) or even modify the final mesh itself, without losing dynamic features. The tool can generate 3 different LOD versions + billboard plane for each tree. It can also use different modular meshes for generation, so e.g. after switching them to super low-poly, the generated tree will be super low poly too Materials are quite lightweight and optimized by default, shader complexity all green.

      Comment


      • #4
        I really like these features! 4 questions:

        I assume one can freely change the leaf and tree textures with ease. Right or wrong?
        Is it possible to manipulate a tree at runtime?
        Is it possible to manipulate trunk/tree width with the spline editor?
        Is it possible to manipulate the roots with your spline editor?

        Comment


        • #5
          Originally posted by rYuxq View Post
          I really like these features! 4 questions:

          I assume one can freely change the leaf and tree textures with ease. Right or wrong?
          Is it possible to manipulate a tree at runtime?
          Is it possible to manipulate trunk/tree width with the spline editor?
          Is it possible to manipulate the roots with your spline editor?
          Right, you can change leaf & bark materials or use custom textures for them.
          Basically the workflow is like this:
          1. Tree creation in a separate Tree Creator blueprint. Controlled via many parameters + spline hand-edit possibility
          2. Tree -> Static Mesh conversion + other 'finalization' steps (more info will be available in the documentation, it has step-by-step instructions)
          3. Use the tree as static mesh or Foliage Type, so it works eg. with the UE Foliage tool.
          ... So trees can be created only at design time (in editor), but of course can be affected by all the dynamic features in game.
          You can hand-edit main trunk & branches with spline editor, trunk/branch thickness is controlled via parameter.
          Roots can be manipulated in the same way as branches, they have very similar set of parameters.
          For now, splines can be used to optionally hand-control trunk & branches - I could add spline manipulation also for roots, but for now there's one UE limitation that prevents me from implementing it. I'll be updating this though, so it's possible that there will be more spline control in future versions.

          Comment


          • #6
            Just wow!
            When will it arive and what will it cost ? So wanna play with it
            www.ofpawnsandkings.de

            Comment


            • #7
              Originally posted by stucki View Post
              Just wow!
              When will it arive and what will it cost ? So wanna play with it
              Honestly no idea, submission process can take some time, especially recently... Epic needs to approve it first, it's still on stage 1... So all I can do is wait. I'll post any updates here, as soon as I have them.
              Price will be close to my previous tools - this one is more complex, but it'll be probably 59.99, trying to keep it indie friendly.

              Comment


              • #8
                Is it possible to chop the trees one sided?
                In the video above, when chopping at the tree, the bark is always being removed from all directions. I would like to have something more realistically befitting a woodcutting with an axe for example. Would this be possible with your system?
                Btw, how does the chopping work? Is the tree a procedural mesh?

                Comment


                • #9
                  Originally posted by rYuxq View Post
                  Is it possible to chop the trees one sided?
                  In the video above, when chopping at the tree, the bark is always being removed from all directions. I would like to have something more realistically befitting a woodcutting with an axe for example. Would this be possible with your system?
                  Btw, how does the chopping work? Is the tree a procedural mesh?
                  No, at least not for now - by default it uses an universal modular mesh 'chop parts' that are automatically generated for each tree. Then it calculates current chop stage based on current tree HP. I'll think about adding something like directional chopping effect, it might be possible to some degree, but I'm afraid that not fully realistic. For this you would need a procedural (or destrucible) mesh, so maybe adding something like this on top of this system would do the job, since it produces a regular static meshes that you can export, turn into procedural/destructible mesh, etc.

                  Comment


                  • #10
                    Would it be possible for you to do a large landscape stress test with this?

                    Several hundred optimized trees and see what the performance hit is?

                    We'd like to have this to build trees for our game, but out test landscape has lots of thick forest.

                    WIP Thread

                    Comment


                    • #11
                      Originally posted by Rhynedahll View Post
                      Would it be possible for you to do a large landscape stress test with this?

                      Several hundred optimized trees and see what the performance hit is?

                      We'd like to have this to build trees for our game, but out test landscape has lots of thick forest.
                      The performance hit depends mostly on tree complexity, so a stress test like this would totally depend on used tree presets. If you create a tree with more branches/sub-branches/leaves/etc., then the bigger the performance hit will be.
                      There is no noticeable performance hit from the system itself, since it operates almost entirely on an optimized material (GPU) + some CPU based management and it's all meant to be used with instanced mesh system. It produces a regular static meshes that you can modify, apply LODs, etc. (LODs and simple billboard plane can be also generated automatically by the system, but of course you can use your own meshes for that) and used with the instanced foliage system.
                      BTW. You can see a several hundred example trees on the video (the chopping part) and it was around 60 FPS on my GTX 760.
                      I'm away from my main workstation right now, I'll be back in a few days - but I'll think about creating some additional test scene though.

                      Comment


                      • #12
                        Spanish inquisition time:
                        I assume this basically completely supercedes the previous generator?

                        How much of it is blueprint, or blueprint accessible?

                        How much of it is pregenerated (i.e. in editor), and how much functionality is accessible at run time?
                        Last edited by ambershee; 07-21-2017, 09:53 AM.

                        Comment


                        • #13
                          Originally posted by ambershee View Post
                          Spanish inquisition time:
                          I didn't expect it.

                          Originally posted by ambershee View Post
                          I assume this basically completely supercedes the previous generator?

                          How much of it is blueprint, or blueprint accessible?

                          How much of it is pregenerated (i.e. in editor), and how much functionality is accessible at run time?
                          This is a totally different system, but both can be used on different project stages. Some features from Dynamic Tree & Plant Generator are not available here (e.g. dynamic lianas/vines) and there are some other differences - you can check the comparison doc here: https://goo.gl/ZBAU5L
                          It's a 100% blueprint system, so all the logic is accessible.
                          As opposed to the Dynamic Tree & Plant Generator, this one is purely design-time oriented. So the entire tree creation process is done in editor - then tree needs to be 'baked' with finishing steps (quite simple, step-by-step instructions will be available in documentation after release) and then it can be used e.g. in the UE Foliage tool.

                          PS. I'm away from my main workstation right now, so my answers can be delayed. I should be back in a few days. Cheers!
                          Last edited by Slavq; 07-21-2017, 10:18 AM. Reason: info

                          Comment


                          • #14
                            Thanks!

                            I can understand that it's intended to be more editor-side. I guess for my purposes I'm going to be somewhat on the fence, since I'm keen to exploit more game-side behaviour, but I'm also performance minded. Can't win!

                            Comment


                            • #15
                              This looks really good! Is there any method for storing presets and then randomizing based off that? So, different shape oak trees, for instance.

                              Comment

                              Working...
                              X