【问题标题】:How to get all the materials assigned to a GameObject in Unity如何在 Unity 中获取分配给游戏对象的所有材质
【发布时间】:2020-12-26 18:19:14
【问题描述】:

在 Unity 中,我们可以通过以下代码获取 GameObject 拥有的材质。

Material myMaterial = GetComponent<Renderer>().material;

但是使用上面的代码,我们只能得到每个 GameObject 的一种材质。

然而,实际上,Unity GameObjects 可以有不止一种材质。

如下图所示

如果逐面分配,每个 GameObject 可以有多个材质。

我尝试使用下面的代码获取多种材料,但没有成功。

List<Material> myMaterials = GetComponent<Renderer>().material;

有没有办法将多个材质分配给一个游戏对象?

【问题讨论】:

  • 看看API 怎么样? ;)

标签: c# unity3d


【解决方案1】:

您可以使用Renderer.Materialshttps://docs.unity3d.com/ScriptReference/Renderer-materials.html

List<Material> myMaterials = GetComponent<Renderer>().materials.ToList();

【讨论】:

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