轻量级渲染配置文件中的材质纹理比例

时间:2019-05-01 10:02:45

标签: c# unity3d

我正在使用缩放平面为我的关卡创建几何。这些平面共享材质,但是由于缩放,平面上的纹理也被拉伸了。在切换到轻量级渲染配置文件之前,我使用以下代码来缓解此问题:

var render = GetComponent<MeshRenderer>();
var scale = new Vector2(transform.localScale.x, transform.localScale.z);
render.material.SetTextureScale("_MainTex", scale);
render.material.SetTextureScale("_BumpMap", scale);

但是,由于切换到轻量级RP,所以代码不会缩放纹理。将render.material.mainTextureScale登录到调试控制台时,它会显示我的更新值,但是当我检查它所连接的GameObject时,材质的Tiling属性没有更改。

该材质使用Lightweight Render Profile/Lit着色器。

有什么办法可以在我的C#代码中解决此问题?如果没有的话,有什么办法可以做到而又不改变我的关卡方式?

1 个答案:

答案 0 :(得分:0)

是的,我发现有可能。我调查了着色器,问题是您没有“ _MainTex”映射,这正是代码所要查找的。

要修复此问题,请将“ _MainTex”的所有实例更改为“ _BaseMap”,这是正确的地图。