Skip to content

Add Planarness Option - #42

Draft
kb173 wants to merge 4 commits into
dgreenheck:mainfrom
kb173:main
Draft

Add Planarness Option#42
kb173 wants to merge 4 commits into
dgreenheck:mainfrom
kb173:main

Conversation

@kb173

@kb173 kb173 commented May 6, 2026

Copy link
Copy Markdown
Contributor

Adds a "planarness" slider to both branches and leaves, allowing them to grow straight outwards.

image

I came across this necessity while trying to model a forest beech, which typically has very obvious horizontal tiers rather than random angles and a uniform density.

Here's a comparison of the same tree without planarness, with branch planarness set to 0.5, and with branch planarness at 0.5 as well as leaf planarness at 1.0:

Screenshot_20260506_160212 Screenshot_20260506_160245 Screenshot_20260506_160302

Default planarness is 0.0, so existing presets are not affected.

Some open questions for me:

  • Is "planarness" a good term?
  • Is this a sensible approach? I fought with rotation math quite a bit, and this was the most consistent and good-looking result I could come up with, but perhaps there's a better/simpler way.
  • I think it's more intuitive to have one slider for the branches, rather than sliders for each level, but this makes it stick out in the UI a bit. Should it be under its own subsection, with just that one slider?
  • I added a prototypical piece of code (commented out) for also rotating single-billboard leaves to be horizontal, but found that this doesn't look very good, since the camera usually looks at trees from the side, causing the billboards to be largely invisible. Perhaps there's a better way to achieve this, but that might require additional textures... so maybe best to leave it out?
  • Is it even required? Perhaps the same can be achieved with a combination of options I hadn't thought of. I don't think so, because even when removing all gnarliness and similar parameters, and setting the angle accordingly, the sub-branches grow out of their parent at random angles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant