MaterialParameterCollection可以在不同材质球里共享参数。如果是更新不频繁的参数,在蓝图里更新即可。但是对于更新很频繁的参数,比如每帧都更新的数据,最好在C++里做。
UKismetMaterialLibrary 提供了一些函数可以方便更新MaterialParameterCollection的。
这些函数一般首先需要一个MaterialParameterCollection的对象指针。这个对象就是你实现建立好的那个MaterialParameterCollection。
在C++里可以将这个对象的路径放在FSoftObjectPath里,然后调用FSoftObjectPath的Resolve函数即可获得MaterialParameterCollection对象。也可以直接LoadObject。
然后用这个返回的指针就可以修改场景里的MaterialParameterCollection实例的参数了。