我需要同时使用多种材料,并且它们之间的唯一区别应该是颜色,即使纹理是相同的,我也必须一一创建它们,我想知道哪种方法更好,可以在编辑器中创建并存储它们或在游戏开始时作为脚本中的临时材料创建它们
答案 0 :(得分:1)
这主要取决于您何时需要它们。
我假设您将在启动时全部使用它们。在这种情况下:
如果在启动时不需要所有它们,则可以开始使用协程在后台生成它们。
public class MaterialSpawn : MonoBehaviour
{
private Material[] materials;
public int amount = 100;
public static bool IsSpawning = false;
private void Awake() { StartCoroutine(SpawnYourMaterial()); }
private IEnumerator SpawnYourMaterial()
{
IsSpawning = true;
int spawned = 0;
while (spawned < amount)
{
//INSTANTIATE YOUR MATERIAL
spawned++;
yield return null;
}
IsSpawning = false;
}
}