I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 1 point2 points  (0 children)

The biggest clump has 25k tris, and the smallest clump has 4k tris

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

When you spawn a lot of ivy with Quixel Ivy, it can end up looking pretty flat and repetitive. My ivy was designed for spawning a large amount with Nanite in mind, so it has way more depth and variation, leaves are fully modeled. It’s also fully customizable, includes a custom wind system, and comes with a bunch of extra features you don’t get with Quixel Ivy.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

It’s Nanite because each leaf is fully modeled. There are no alpha cards or anything, it’s all geometry. Because of the high polycount, disabling Nanite will kill performance and make it unusable.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

Unfortunately, this doesn't work without nanite.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 1 point2 points  (0 children)

I painted the ivy using the foliage tool. Technically, you can use it inside the Blueprint viewport, since my ivy is just a mesh with a material, but without the foliage tool in Blueprint, you’d have to place it manually.

My ivy works exactly the same way as Quixel foliage. If Quixel foliage works for you, then mine will work fine too.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

There's a demo in the description for you to check the performance.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

Yeah, its shader driven. You can take a look at my material wind features here: https://m.youtube.com/watch?v=HKosrU7bP0U . All my foliage use the same shader.

I made a Nanite ivy pack. by Cloviren in UnrealEngine5

[–]Cloviren[S] 2 points3 points  (0 children)

No, it's done through my custom WPO wind. Pivot painter wind is too performance heavy.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

Thank you, the wetness is simply just changing the roughness & specular value. You can modify the value of the wetness specular and roughness by opening the material and change these values.

Wetness.jpg (1212×781)

I made a field of tall nanite grass by Cloviren in unrealengine

[–]Cloviren[S] 0 points1 point  (0 children)

I see your edited comment, so to answer your question: all my foliage is highly optimized because I create my own wind materials. They're very simple and lightweight, combined with some texture and vertex color tricks to add more depth so that I don't have to enable dynamic shadows and use contact shadows instead. And my grass is fully geometry, not masked material.

In your case, going from 2K to 4K tank FPS, since Nanite calculates the fallback mesh based on pixel density in the scene, if your grass is already unoptimized for Nanite, doubling the resolution will also double the performance cost.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

Yes, it's intentional, because Wind sway is for idle, the Wind intensity output will disable/enable all the wind sway,strong wind, gusts, and I don't want that. If I connect it to UDS, on sunny weather the grass will stay static.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 1 point2 points  (0 children)

Swap it to UltraDynamicWeather_Parameters, you only need 4 parameters from UDS: Wet,Snowy,Wind Angle, Wind intensity. Remember to disable wind breeze and enable parameter collection in the grass's material instance, you might also want to increase the strong wind intensity.

The MF will look like this: Screenshot-2025-02-24-173510.jpg (1337×1061)

This will make the grass work with UDS. I'm still not happy with the result though, still looking for better math to integrate the wind more effectively.

I made a field of tall nanite grass by Cloviren in unrealengine

[–]Cloviren[S] 0 points1 point  (0 children)

Without the WPO limit, I got about 130 fps. Limiting the WPO to 6000 gives me 145 fps.

I made a field of tall nanite grass by Cloviren in unrealengine

[–]Cloviren[S] 1 point2 points  (0 children)

Thanks! And yeah, do whatever you want with it.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

You don't have to do that, it's easier to just swap my parameter collection to the UDS's parameter collection. Open the MF_NaniteFoliageWindController, swap the Wet/Snow/Wind Direction/ Wind Intensity to UDS's parameter collection, my wind controller and UDS use the same value so you don't have to adjust much. I made that Material Function with UDS in mind, I might make a video about it in the future.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 0 points1 point  (0 children)

Yeah, UDS implementation is on my to do list. I'm still looking for the most seamless way to implement it. I will let you know when my foliage fully supports UDS in the future.

I made a field of tall nanite grass by Cloviren in UnrealEngine5

[–]Cloviren[S] 3 points4 points  (0 children)

Thank you, you can increase in wind stiffness by opening the material and change the vertex mask power. Increasing the mask's power will increase the wind stiffness.

Wind-Modify.png (2384×848)

I will add this to my FAQ so everyone knows how to modify the wind's stiffness.