These last trees are still broken in many ways, but I've been working a lot on the Blueprint to consolidate into functions that are able to perform the repeatable processes of placing child branches on parent branches randomly. For example, now you can just up the number of tiers of branches and see the branches increasingly split off from each other, getting smaller and smaller. I also realized that, before, my child branches weren't being rotated relative to the parent branch, so this has that fixed, which is a major improvement. Something seems to have messed up in my branch aware placement, because some of the branches are looking pretty crowded. This is something I need to look into.
The system is much more organized than it used to be, but these trees lack a lot that I'm still looking to implement. Some branches still aren't being placed on the spline correctly (if a branch bends too far from its spline.) I've also been trying to decide how to modify the tangents of the randomly placed branches so they aren't straight sticks like in the first image.
I think the most exciting part of working on procedurally constructed assets is being surprised by the types of results that your system yields. Although you build the system with intention, there's a ton of room for error and unexpected combinations that can inspire you to strive for new visual goals, especially while testing. Neither of these trees look like how I planned, but the forms they created are inspiring alternatives to explore.
Bringing the boat into the same painted style I was able to achieve last week on the tree was a major development this week. Now that the look development for the boat is mostly figured out, I've been working on the masks to make the boat rust away as you come closer to it. I'm looking to finish the rusting away of the hull by the end of this week. (18 hours)
My tree system underwent some much needed cleanup and restructuring, but still has a long way to go. It's more downhill than uphill from here though. (16 hours)
The results of my grass tests were surprising. I was playing around with this on a whim. I set up cross section layers in a Blueprint that controls how many layers there are and the overall height of the grass to pack those layers into. Each of these layers has the grass material applied. The Blueprint is able to feed information into the material. For example, the material can have a different effect on the top layer than the bottom layer by taking in the current layer from the Blueprint. The opacity mask for each layer is actually the same painted mask, but clamped slightly differently at the top so the top thins just a bit. This grass also moves very slightly in a sort of dreamy way by just offsetting the UVs by a noise that shifts over time. (2-3 hours)