创建材料阵列的阵列
Create array of arrays of Materials
我发现了一些关于在 C# 中创建数组数组的结果,但我不清楚如何使用 Unity 中的 Material 类型来实现,where/if 我应该创建新实例.我想要一个名为 colorGroups 的数组,每个元素都有一个 Material 数组。我在检查器中设置了“粉色”和“蓝色”材质。也许我不应该让第一个数组成为 Materials 类型和 GameObject?
显然这行不通,但这是我目前所拥有的...
public Material[][] colorGroups;
public Material[] pinks;
public Material[] blues;
void Start()
{
colorGroups[0] = pinks;
colorGroups[1] = blues;
}
您必须初始化数组并定义数组的长度。否则您正在尝试引用尚不存在的内容。
void Start()
{
// initializing colorGroups to be an array with a length of 2 in the 1st dimension
this.colorGroups = new Material[2][];
colorGroups[0] = pinks;
colorGroups[1] = blues;
}
现在您可以将 Material 阵列(蓝调)分配给您的二维阵列。
您可以查看 this answer 以了解有关在 C# 中初始化二维数组的更多信息
我发现了一些关于在 C# 中创建数组数组的结果,但我不清楚如何使用 Unity 中的 Material 类型来实现,where/if 我应该创建新实例.我想要一个名为 colorGroups 的数组,每个元素都有一个 Material 数组。我在检查器中设置了“粉色”和“蓝色”材质。也许我不应该让第一个数组成为 Materials 类型和 GameObject?
显然这行不通,但这是我目前所拥有的...
public Material[][] colorGroups;
public Material[] pinks;
public Material[] blues;
void Start()
{
colorGroups[0] = pinks;
colorGroups[1] = blues;
}
您必须初始化数组并定义数组的长度。否则您正在尝试引用尚不存在的内容。
void Start()
{
// initializing colorGroups to be an array with a length of 2 in the 1st dimension
this.colorGroups = new Material[2][];
colorGroups[0] = pinks;
colorGroups[1] = blues;
}
现在您可以将 Material 阵列(蓝调)分配给您的二维阵列。 您可以查看 this answer 以了解有关在 C# 中初始化二维数组的更多信息