Tuesday 15th November 2022
Now that I have a good base, the next step was to get the foliage and other plant assets in and set up in order to get a better idea of the final scene.
I looked up what software I could use, and found that SpeedTree tended to be the most popular choice. However their student license doesn't allow us to export our created trees and foliage, so I had to do a quick deep dive into other possible avenues I could go down instead of relying on Quixel Megascans Library.
I am aware that Quixel is very much so used in Industry, and even in the tutorial I watched, it's recommended for blockout purposes. However, I felt I would benefit by focusing on creating my own, even if it's not necessarily to industry standard.
The first one I found was to use Blender, using the 'Sapling Tree Gen' Plugin. It's a relatively simple process, and extremely similar to SpeedTree, however it is extremely finicky and as such not a viable option for continual use, especially given the fact I do not have much, if any, experience using Blender. Another reason is that Blender, as a modelling software, is not geared towards optimization for use outside of Blender.
The process is as follows:
- Shift+A > Curve > Sapling Tree Gen
- Adjust Parameters in the bottom left pop-up window, using default presets before changing according to what you want or need
- Add leaves
- Click off the model
- RMB > Convert To > Mesh
![]() |
Another method is to use the Paint Tools in Maya, which again aren't exactly optimised for use outside of the software itself. They're recommended, of course, to block out a scene (even in the tutorial series I've been following) but for final assets they are far too low-quality to even consider them.
I was about to give up when I was given advice by Aimy Chamberlain, another Third Year art student, to check out TreeIt by Evolved Software, which I did without hesitation, and am truly thankful for the advice she gave me.
TreeIt as a software is almost identical to SpeedTree, despite clearly being on the older side. It gives us freedom to create almost any tree or plant, which I did over the course of the afternoon.
There is only one problem with this software, in that trees can get very high-poly very quick. As such I made three variants of tree on the advice of one of the module lecturers, Dave Cockburn. He advised that I make an 8K, 4K, and 2K variation and bring them into engine, in order to get a good idea of whether or not I need a higher poly count.
It's worth noting that this isn't necessarily needed now, as UE5 is more than capable of utilizing extreme levels of polygons, but I still want to be mindful about poly count, and the final size of my hand-in.
In the end, I opted for the 4K poly tree, as the 2K was very blocky compared to the others, but there wasn't enough of a difference between 4K and 8K to justify using them.
Heading back into engine, I set the trees and other foliage up as I would with any other == importing into their own folder and setting up the materials. However, I also added a SimpleGrassWind Node to the Material, which works with the alphas of the materials and (taking into account the three inputs on the node) generates a wind effect.
I then replicated this across all assets I brought in, adjusting the wind node intensity, before going into the foliage editor.
The foliage editor in Unreal works exactly the same way as the Landscape Painting and Sculpting editors, only instead of painting with textures, the 'paint' is scattered foliage assets. I could change the parameters, density, and other settings in my paint brush to get the exact effect I wanted. In the end I created and used the following
- 2 Variants of Trees (that I re-unwrapped in Maya due to UV Map issues created in TreeIt
- 2 Variants of Ferns to scatter
- 1 small clump of grass
- 1 dandelion plant
After I got my foliage into engine, however, I did encounter a very big problem when it came to my Frame Rate. I decided to take a break from this, though, as it was getting to be very late at night and my brain was unable to function enough to think of possible solutions.
Thursday 17th November 2022
As is normal for me, I took a day away from this module to work on other things. However, I always feel that this in turn helps my creativity and resets my mindset.
Thankfully, this was the case, as I hit a realisation in the night that I could potentially implement LODs in my scene for my trees. So at 2am I booted my laptop up and started researching what I needed to do in order to get these set up.
LODs are, in essence, something used in games that are purely there for optimisation. It takes the mesh, and divides it by two depending on how much screen-space the mesh takes up in the view port. We can go in and customise it further, but I decided to stick with the very basic settings and let the Engine do the work for me using Auto-generated LODs.
If I'd had more time I would have done a deep-dive into the process and set up the models myself.
This was repeated across all of my foliage, creating two or three LODs per mesh.
While this did make a difference, the engine was still running below 60FPS, which was where I'd wanted my Frame Rate to be.
I then did the usual thing that anyone does when trying to fix problems -- meaning I turned everything in my scene off and on again to see which assets were dragging my system, with the culprit being the Directional light. But, obviously, I can't remove that as it was essentially the sun within my scene.
So after scratching my head for a bit, I did further research, finding one particularly helpful YouTube video that shows how to set up lighting in UE5 to not tank the frame rate while keeping the quality extremely high.












No comments:
Post a Comment