如何使用Collison上的脚本在Unity中更改材料

我目前正在Unity3D中制作手机游戏。我想要这样,以便当带有标签“ Damage”的球碰撞时,它将改变屏幕顶部的损坏指示器的材质。有没有简单的方法可以做到这一点?

谢谢。

iCMS 回答:如何使用Collison上的脚本在Unity中更改材料

您通常会在“ GameManager”中放置诸如“损坏指示器”之类的内容,而GameManager通常是单身。这意味着您在发生碰撞时,可以检查collider标签,如果它是“ Damage”,那么您可以在GameManager中调用一个函数来更改“ Damage Indicator”的材料。像这样:

public class ExampleClass : MonoBehaviour
{

    ....

    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Damage")
            GameManager.instance.DamageDone();
    }
}

GameManager:

public class GameManager : MonoBehaviour
{
    public static GameManager instance;

    public Material damageMat;
    public Renderer damageIndicatorRenderer;

    ....

    void DamageDone()
    {
        damageIndicatorRenderer.material = damageMat;
    }
}
本文链接:https://www.f2er.com/1866691.html

大家都在问