I want to implement a game like Crusader Kings, I need to use Dynamic Material Instance to show dynamic border and territorial limits by transfer a dynamic texture as parameter.
To us Dynamic Material Instance on Landscape,I follow this article:
But it doesn’t work on landscape!
This is my test implementation:
A Simple Test Material With a Parameter(Default Red)
For this question that somehow was never answered:
For using a dynamic material WITHOUT MPC/Whatever, if for example you need to use dynamic textures, like in my case, dynamic render texture heightmaps.
UE 5.5
Set ‘UseDynamicMaterialInstance’ in the UI to ‘True’
In order to use the dynamic MID do NOT use ‘CreateMaterialInstance’ dynamic or the ilk, but use the special material function called ‘GetMaterialInstanceDynamic’ that is specific for landscape components!
It doesn’t work on NANITE landscape. I tried everything.
everything works theoritically but NO actual changes is applied to the materials at runtime. it’s just the baked material when you rebuild nanite for the landscape.
Use a material parameter collection. These work on nanite landscapes, they reflect changes in the materials that sample them in real-time, they can be updated in BPs, they can be accessed by almost anything not just materials.
They give you a shared-table for MANY different data-objects that can then drive the material to do things it was not sensitive-to before.
It’s the same thing a RVT gives you: horizontal-information-exchange; multiple things outside a shader can read/write to a common information sink.
This is hugely powerful in allowing the GPU to ‘communicate’ with other-things.
Skip the material-instance, i doubt whatever you want to do cannot-not be done via an MPC.