当我尝试对材质球数据(如纹理和矩阵、向量和int值以及浮点值)执行相同的操作时,我会陷入困境。我知道我可以用
Material.GetXXX
功能。
例如,我目前可以获得
Texture
从具有名为
_MainTex
使用:
Material mat = gameObject.GetComponent<MeshRenderer>().material;
Texture mat1Tex = mat.GetTexture("_MainTex");
SaveTex(mat1Tex);
问题是,在运行时获取属性值之前,我需要知道属性的名称和类型,例如纹理、矩阵、浮点、颜色等等
我希望项目中会有许多来自第三方源的着色器,手动检查每个着色器、复制它们的属性名称和类型以获取数据会很复杂。
材料.GetXXX
功能?如果这是不可能的,有没有任何方法可以单独转储着色器数据?
注意
这不是一个保存功能,我也不是在寻找保存和加载游戏状态的方法。它是一个用来分析和解决Unity游戏问题的插件。