I Suck At Art So I Made An Open Source Procedural Tree Generator

Поділитися
Вставка

КОМЕНТАРІ • 21

  • @ZacharyHelm
    @ZacharyHelm 2 місяці тому +3

    Awesome, reminds me of Tree Magik (and Plant Life) by The Game Creators way back when
    A couple of ideas:
    - separate radial segment setting for branches (ez polycount reduction)
    - add colors attribute to vertices to bake in path distance from trunk and leaf distance from branch for wind shaders
    - stylized normals option, instead of standard normals pointing out from the front face, often foliage will use normal baseds on a sphere or hemisphere to achieve a softer look, this one is more of a preference where you just want to see both side-by-side and pick per project (maybe this is just the leaves though? It's been awhile since I've messed with it)

    • @shauas4224
      @shauas4224 Місяць тому

      About normals - there is a talk from horizons zero dawn graphics programmer and presentation mentions that normals (for leaves only) are based on isosurface of the tree but he barely mentioned it in the talk itself. I spent like 4 hours researching how to generate isosurfaces and got completely nowhere(

  • @shauas4224
    @shauas4224 Місяць тому

    Really cool work man! Ive been working on my own tree generator using lsystems for some time now and while researching various questions I had about it, came across a lot of different procedural tree generators and all of them(except one) had the same problem(? My opinion, maybe be wrong) - the branches are too curved. You rarely see trees that have those smooth branches and it kinda hurts the overall look of the tree. Maybe I ll get to your asset and try to tweak it a bit see how it looks with less smoothing. Thanks for opensourcing it, will be a valuable resource for other people trying to do the same!

  • @AndersonMancini
    @AndersonMancini 2 місяці тому +1

    Amazng work haha. This is so useful man! Congratulations. Loved the video!!!!!

  • @papodeprogramador3201
    @papodeprogramador3201 2 місяці тому

    That's amazing man! Great job!

  • @dennismarzan5770
    @dennismarzan5770 Місяць тому

    awesome work!

  • @abetusk
    @abetusk 2 місяці тому

    Not just free as in gratis but free as in libre! Very nice work.
    I think some type of displacement or bump map might help with trunk detail and go a long way towards increasing quality.

    • @dangreenheck
      @dangreenheck  2 місяці тому +1

      I do plan on including this in the next version. I found some good free assets that include these maps.

    • @abetusk
      @abetusk 2 місяці тому

      @@dangreenheck I think the displacement map looks nicer but it also increases the poly count, no? I wonder how things will fare if you're already hitting maximum poly counts for just some of the basic models.

    • @dangreenheck
      @dangreenheck  2 місяці тому +1

      The additional geometry is generated on demand within the GPU, so I'm not sure! I believe the limits only apply to the vertex buffer passed to the GPU. I'm not 100% sure though, still learning some of this, so I guess I will find out :) I am incorporating another suggestion, however, by reducing the segment count for child branches. This has reduced the poly count significantly so this isn't as much of an issue.
      I think bump mapping alone will be sufficient, since in reality bark is quite thin and doesn't affect the overall profile of the tree.

    • @abetusk
      @abetusk Місяць тому

      @@dangreenheck Awesome!
      My worry with bump mapping for the bark is that the underlying geometry will still be very noticeable at zoomed in levels. Level of detail reduction for child branches along with some adaptive mesh segmentation might give good enough results, but who knows.
      Well, I look forward to seeing what you come up with.

  • @sjoervanderploeg4340
    @sjoervanderploeg4340 2 місяці тому

    I just use cubes for everything, maybe a cylinder or a plane.
    It is programmer art!

    • @sjoervanderploeg4340
      @sjoervanderploeg4340 2 місяці тому +1

      Also, if you want to continue with your procedural generator... implement L-systems!

  • @trickydee
    @trickydee 2 місяці тому

    You're Incredible Dan!

  • @andregn4483
    @andregn4483 2 місяці тому

    Idea for huge optimization:
    You could decrease the circular segments as they branch:
    Either with a "segment multiplier", but preferably use 2 parameters: MaxSeg and MinSeg.
    The main trunk starts with MaxSeg = 12 and each level reduces linearly until MinSeg = 4 for the last branch.

    • @andregn4483
      @andregn4483 2 місяці тому

      It's probably a huge optimization because 70% of your triangles are on the tiny branches. And they don't require so much details. So it would be smart to make the resolution somewhat proportional to the radius.

    • @dangreenheck
      @dangreenheck  2 місяці тому +1

      Great suggestion. There was another comment that suggested this as well. I will definitely implement this.

  • @jawadzaib108
    @jawadzaib108 2 місяці тому

    Amzaing job man, I would love to see mountains generation with roads and trees on it :)

  • @ld2studio675
    @ld2studio675 2 місяці тому

    Super cool, thank you for sharing this project. I think he will be able to help us develop incredible things. thanks again🌴🌵

  • @kaiseraugustus1393
    @kaiseraugustus1393 2 місяці тому

    I get a white screen, when opening the Live Demo Link

  • @rajageethana5063
    @rajageethana5063 2 місяці тому

    I understand nothing, but its fun to watch lol