【问题标题】:Unity | 'gameobject.renderer.material.color' in version 5.x团结 | 5.x 版中的“gameobject.renderer.material.color”
【发布时间】:2015-06-11 01:53:41
【问题描述】:

我想将游戏对象(guiTexture 或 sprite)的一部分制作为透明颜色,例如资产商店中的“SpriteMask”。 https://www.assetstore.unity3d.com/kr/#!/content/27642

让我更详细地解释一下。 比如场景中有两个gameObject。一个是场景的背景,另一个是空的游戏对象,当我拖动它时它可以移动。 同时将背景中gameObject所在的部分设为透明。

首先,我尝试使用“rendere.material.color.a”,但它在 Unity 版本 5.x 中已被弃用。现在我不知道了。

以下是我想做的所有事情。 https://www.drupal.org/files/project-images/Manual-Crop.jpg

有人有好主意吗?我怎样才能以简单的方式做到这一点。 请给出任何想法。谢谢。

【问题讨论】:

  • 你能发布一些相关的代码吗?可能有助于解决您的问题。
  • MonoBehaviour 类不再包含 renderer 快捷方式变量。你需要使用gameObject.GetComponent<Renderer>().material.color.a

标签: unity3d shader crop mask renderer


【解决方案1】:

创建一个全局变量

MeshRenderer renderer;

Start()
{
    renderer = gameObject.GetComponent<MeshRenderer>() as MeshRenderer;
}

现在你可以使用渲染器了!

【讨论】:

    【解决方案2】:

    5.3.0f4 更新

    public GameObject mainObj;
    
    void Start () {
        mainObj.GetComponent<MeshRenderer> ().material.color.a = 1.0f;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2015-01-17
      • 2017-03-12
      • 1970-01-01
      相关资源
      最近更新 更多