
Download >> https://www.dropbox.com/s/ae593q6r0flpz ... e.pk3?dl=1
Just a little SDK I'm messing around with. Trees like in The Elder Scrolls IV: Oblivion where the trunk is a 3D model but the leaves are individual billboard sprites.
The workflow is kind of convoluted at the moment:
1) Go into the "tree design" map to place the "design mode" actors; this is where you place the trunk at [0, 0], and then individually place the leaf sprites to "design" the look of your tree. It's actually pretty fast; just spam-copy-paste the leaves and use GZDoom Builder's "jitter" mode (Ctrl + J) to randomize the leaves. Be sure to reset every actors' angles to 0.
2) Run the tree design map with +logfile to get a dump of all of all the A_SpawnItemEx commands needed to spawn the leaves at the correct position
3) Take that dumped info and paste it into the final trunk object's DECORATE (use anonymous functions to spawn the entire set in 1 tic)
To do:
- leaves do not update in real-time; if the trunk moves, gets destroyed or whatever, the leaves will remain floating
- leaves do no account for trunk's scale, angle, pitch and roll
- leaf animation via hardware shaders?
- look for better ways to streamline the creation and design workflow
Credits:
Bethesda Game Studios: concept
Me: code, trunk mesh
carlcyber: RoundToInt ACS function
????: trunk and leaves textures, I used Google Image hastily to prototype these, I'll need to find the authors eventually