【发布时间】:2025-12-04 16:15:02
【问题描述】:
我正在使用缩放平面来为我的关卡创建几何图形。这些平面共享一个材质,但由于缩放,平面上的纹理也被拉伸。在切换到轻量级渲染配置文件之前,我使用了这段代码来缓解这个问题:
var render = GetComponent<MeshRenderer>();
var scale = new Vector2(transform.localScale.x, transform.localScale.z);
render.material.SetTextureScale("_MainTex", scale);
render.material.SetTextureScale("_BumpMap", scale);
它创建了一个材质实例并更改了 Tiling 属性以匹配对象的本地比例。
但是,自从切换到轻量级 RP 后,代码无法缩放纹理。将render.material.mainTextureScale 记录到调试控制台时,它会显示我更新的值,但是当我检查它附加到的 GameObject 时,材质的 Tiling 属性没有改变。
材质使用Lightweight Render Profile/Lit着色器。
有什么方法可以在我的 C# 代码中解决这个问题?如果没有,有什么方法可以在不改变我做关卡的方式的情况下做到这一点?
【问题讨论】: