@ Программист неплохое решение, но, поскольку я узнал больше об эффективности ECS и разработал чистое решение, это может быть следующим.Это также будет более адаптируемым в будущем.
[System.Serializeable]
public struct Human {
Transform transform;
}
GameObject[] targets = GameObject.FindGameObjectsWithTag("Human");
List<Human> humans = new List<Human>();
foreach (GameObject target in targets) {
Human human = new Human();
human.transform = target.transform;
humans.add(human);
}
Это выглядит медленнее, и его первоначальная настройка может быть, но доступ в будущем не будет.Вы не должны иметь дело с прямыми массивами, если вам это не нужно, и теперь у вас есть расширяемый Human
объект.