【问题标题】:Material texture scale in lightweight render pipeline轻量级渲染管道中的材质纹理比例
【发布时间】:2019-06-16 10:26:47
【问题描述】:

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

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# 代码中解决这个问题?如果没有,有什么方法可以在不改变我做关卡的方式的情况下做到这一点?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    是的,我发现这是可能的。我查看了着色器,问题是你没有“_MainTex”贴图,这正是代码要寻找的。​​p>

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2015-01-09
      • 1970-01-01
      相关资源
      最近更新 更多