【问题标题】:Access TextMesh Pro Texture Tiling and Offset how?如何访问 TextMesh Pro 纹理平铺和偏移?
【发布时间】:2023-01-07 06:19:36
【问题描述】:

TextMesh Pro 着色器有两个不同寻常的工具来调整用于面部和轮廓的纹理:平铺和偏移。

无法通过使用关键字访问 Unity 中的着色器属性的常规方式访问它们。

是否可以从 Monobehaviours 访问这些属性?如何?

如果您想查看示例代码……没有什么意义……因为我已经尝试了在 Unity 中访问着色器属性的所有常规方法,但发现它们都不起作用,所有这些都抛出与不存在的符号相关的错误。或返回空值。

这些属性以某种方式有些嵌套。

如果您曾在 Unity 中使用脚本成功编辑过这些值,您可能会知道它们有些不同。

【问题讨论】:

    标签: unity3d properties shader textmeshpro


    【解决方案1】:

    您可以使用以下步骤访问 TextMesh Pro 着色器的平铺和偏移属性:

    在 Unity Editor 中,选择附加了 TextMesh Pro 组件的游戏对象。 在检查器窗口中,单击“添加组件”按钮。 搜索并添加“材料属性”组件。 在检查器窗口中,您将看到“材料属性”组件下列出的平铺和偏移属性。 然后,您可以通过修改“平铺”和“偏移”字段的值来调整平铺和偏移属性。

    或者,您可以使用渲染器组件的 GetPropertyBlock 和 SetPropertyBlock 方法从脚本访问平铺和偏移属性。这是您如何执行此操作的示例:

    Renderer renderer = GetComponent<Renderer>();
    MaterialPropertyBlock propertyBlock = new MaterialPropertyBlock();
    renderer.GetPropertyBlock(propertyBlock);
    propertyBlock.SetVector("_MainTex_ST", new Vector4(tilingX, tilingY, offsetX, offsetY));
    renderer.SetPropertyBlock(propertyBlock);
    

    这会将渲染器使用的材质的平铺值设置为 (tilingX, tilingY) 并将偏移值设置为 (offsetX, offsetY)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多