Wilderness Overhaul

Show off your mod creations or just a work in progress.
User avatar
Shapur
Posts: 154
Joined: Wed Apr 21, 2021 5:11 pm
Location: Czech Republic
Contact:

Re: Wilderness Overhaul

Post by Shapur »

Hipnotic Rogue wrote: Mon Nov 29, 2021 12:42 pm This sounds like a wonderful project. Can I ask, will there be a big performance hit? If so, will it be CPU or GPU limited? Sorry for the perhaps obvious questions, I'm very new to all things DFU. :)
There's a bit of a performance hit. There are around 3 - 5x more vegetation sprite than in vanilla, but it's not bad.
Link to my github here.
And here is my nexus profile.

User avatar
Daniel87
Posts: 391
Joined: Thu Nov 28, 2019 6:25 pm

Re: Wilderness Overhaul

Post by Daniel87 »

Hipnotic Rogue wrote: Mon Nov 29, 2021 12:42 pm This sounds like a wonderful project. Can I ask, will there be a big performance hit? If so, will it be CPU or GPU limited? Sorry for the perhaps obvious questions, I'm very new to all things DFU. :)
Those are great questions actually!

So, currently my mod causes quite some performance issues, which is one of the reasons I don't continue with the next biome but rather work on the fundament to get it right and then scale it up to other biomes as well to finally cover all types of Daggerfall landscapes.
I am expecting for the whole mod to get more CPU intense compared to what it is already.

The procedural clouds would consume a lot of CPU power. They can also be calculated via the GPGPU (Compute Shaders) but I suck at writing shaders, even if its simple compute shaders. Never managed to wrap my head around them, despite them being soooo freakin useful and powerfull!
If I knew how to properly use them, I would pretty much compute anything on my GPU as long as the calculations can be run in parallel and is not branching off too often/ is predictable.

But actually I am not sure if the recommended Unity 2019 used for DFU is already compatible with compute shaders - I believe so.
So I believe the cloud mod would totally suck the last bit of power from your CPU if not written properly for the GPU.
https://www.youtube.com/watch?v=4QOcCGI6xOU
In Julianos we Trust.

User avatar
Hipnotic Rogue
Posts: 24
Joined: Thu Nov 25, 2021 2:15 pm

Re: Wilderness Overhaul

Post by Hipnotic Rogue »

Thanks for the detailed reply... I wasn't expecting that!

I totally get you regarding compute shaders. That stuff is pure black magic to me. Though, to be fair, the last time I wrote any real code was back on my Commodore 64...

Bearing in mind that your mod will be CPU intensive do you plan to make the procedural clouds an option or is everything to tied up for that?

User avatar
Daniel87
Posts: 391
Joined: Thu Nov 28, 2019 6:25 pm

Re: Wilderness Overhaul

Post by Daniel87 »

Hipnotic Rogue wrote: Tue Nov 30, 2021 7:00 pm Thanks for the detailed reply... I wasn't expecting that!

I totally get you regarding compute shaders. That stuff is pure black magic to me. Though, to be fair, the last time I wrote any real code was back on my Commodore 64...

Bearing in mind that your mod will be CPU intensive do you plan to make the procedural clouds an option or is everything to tied up for that?
Yeah I would make it modular, so when you set a boolean in the mod settings, you can turn it on and off.
In Julianos we Trust.

User avatar
Hipnotic Rogue
Posts: 24
Joined: Thu Nov 25, 2021 2:15 pm

Re: Wilderness Overhaul

Post by Hipnotic Rogue »

Great stuff. I'll be waiting for a release with baited breath. :)

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Wilderness Overhaul

Post by BadLuckBurt »

I've finally gotten around to testing this with my terrain sampler. I just ignored the mod dependency for Interesting Eroded Terrains and it works beautifully with my sampler as well.

I haven't noticed any lag so far, I will test some more and let you know if I find anything. I'll try and throw up a video before the weekend so you can have a look.

- edit

And ofcourse it stopped working :/ It's giving me this error in the logs, I've also tried it with Interesting Eroded Terrains but it gives me the same error.

Code: Select all

ArgumentNullException: Value cannot be null.
Parameter name: shader
  at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
  at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <451019b49f1347529b43a32c5de769af>:0 
  at DaggerfallWorkshop.WOTerrainMaterialProvider.CreateMaterial () [0x00000] in <052556f85c52488bab0993c9abe9a0ab>:0 
  at DaggerfallWorkshop.DaggerfallTerrain.InstantiateTerrain () [0x00061] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.UpdateTerrainData (DaggerfallWorkshop.StreamingWorld+TerrainDesc terrainDesc) [0x00038] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.InitPlayerTerrain () [0x00033] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.Update () [0x00093] in <661f3715044a485ebcafa2bc4b21735a>:0 
I don't know if that looks familiar. Don't bother too much to solve it if it doesn't. I look at the code in the WOTerrainMaterialProvider and it seems it can't load WOTilemapTextureArray.shader although that should be present in the .dfmod, it builds fine. Tried the precompiled option too but that changed nothing.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

User avatar
Daniel87
Posts: 391
Joined: Thu Nov 28, 2019 6:25 pm

Re: Wilderness Overhaul

Post by Daniel87 »

BadLuckBurt wrote: Mon Dec 27, 2021 5:55 pm I've finally gotten around to testing this with my terrain sampler. I just ignored the mod dependency for Interesting Eroded Terrains and it works beautifully with my sampler as well.

I haven't noticed any lag so far, I will test some more and let you know if I find anything. I'll try and throw up a video before the weekend so you can have a look.

- edit

And ofcourse it stopped working :/ It's giving me this error in the logs, I've also tried it with Interesting Eroded Terrains but it gives me the same error.

Code: Select all

ArgumentNullException: Value cannot be null.
Parameter name: shader
  at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
  at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <451019b49f1347529b43a32c5de769af>:0 
  at DaggerfallWorkshop.WOTerrainMaterialProvider.CreateMaterial () [0x00000] in <052556f85c52488bab0993c9abe9a0ab>:0 
  at DaggerfallWorkshop.DaggerfallTerrain.InstantiateTerrain () [0x00061] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.UpdateTerrainData (DaggerfallWorkshop.StreamingWorld+TerrainDesc terrainDesc) [0x00038] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.InitPlayerTerrain () [0x00033] in <661f3715044a485ebcafa2bc4b21735a>:0 
  at DaggerfallWorkshop.StreamingWorld.Update () [0x00093] in <661f3715044a485ebcafa2bc4b21735a>:0 
I don't know if that looks familiar. Don't bother too much to solve it if it doesn't. I look at the code in the WOTerrainMaterialProvider and it seems it can't load WOTilemapTextureArray.shader although that should be present in the .dfmod, it builds fine. Tried the precompiled option too but that changed nothing.
I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.

WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
In Julianos we Trust.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Wilderness Overhaul

Post by BadLuckBurt »

Daniel87 wrote: Wed Dec 29, 2021 11:24 am I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.

WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
I think my dumbass never had this mod active in the first place :lol:

I've got it working now but I have to ask, have you tested building this mod or do you just run it in the editor?

I'm asking because to get it to work, I had to manually include the shader in the Project Settings > Graphics under the 'Always include shaders' section. The mod works now, not all the biomes are in yet right?

It looks nice in the temperate climates though so I will record a video of me strolling about there.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

User avatar
Daniel87
Posts: 391
Joined: Thu Nov 28, 2019 6:25 pm

Re: Wilderness Overhaul

Post by Daniel87 »

BadLuckBurt wrote: Wed Dec 29, 2021 12:30 pm
Daniel87 wrote: Wed Dec 29, 2021 11:24 am I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.

WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
I think my dumbass never had this mod active in the first place :lol:

I've got it working now but I have to ask, have you tested building this mod or do you just run it in the editor?

I'm asking because to get it to work, I had to manually include the shader in the Project Settings > Graphics under the 'Always include shaders' section. The mod works now, not all the biomes are in yet right?

It looks nice in the temperate climates though so I will record a video of me strolling about there.
Haha yes, it was a struggle to actually build the mod, when I tried after messing with it for too long in the editor.
Had to do the same concerning the "Include all Shaders" option. I am surprised it wasn't saved after setting it up.

Looking forward to the video :)
In Julianos we Trust.

User avatar
BadLuckBurt
Posts: 948
Joined: Sun Nov 05, 2017 8:30 pm

Re: Wilderness Overhaul

Post by BadLuckBurt »

That Always Include setting is saved in your local Unity project settings, not with the mod settings.

Once the mod is done you could add a little documentation so that anyone building this mod knows to change that.

Having seen yours in action, I decided to include an altered version of the default TerrainNature class but its not going to be as advanced as yours. I only want to change the even distribution of the billboards to something more natural.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt

.

Post Reply