Хорошо, я пытаюсь сделать огромную кучу объектов, процедурно. Я сделал 1 копию моего объекта в контейнере пустым (со сценарием), затем добавил все эти объекты в список, клонируя каждый случайное число раз.
Каждый объект имеет боксовый коллайдер и твердое тело с гравитацией. Мне нужно и то и другое, чтобы объект падал поверх других, а не на пол.
Я клонирую и размещаю каждый объект в произвольной позиции в сфере:
foreach(Transform t in transform)
{
if (t.name != "PileSphere")
{
for (int i = 0; i < Random.Range(minOfEach, maxOfEach); i++)
{
GameObject g = Instantiate(t.gameObject);
spawnObjs.Add(g);
}
spawnObjs.Add(t.gameObject);
}
else
{
sphere = t.gameObject;
}
}
foreach(GameObject g in spawnObjs)
{
Vector3 radius = Random.insideUnitSphere * 10 +transform.position;
//g.transform.position = new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10));
g.transform.position = radius;
}
Это работает, однако я нажимаю кнопку воспроизведения, и ни один из объектов не остается в том месте, в котором я их создал, потому что они отскакивают на много метров друг от друга, несмотря на высокий порог отказов:
Что я могу сделать, чтобы создать случайную кучу подвижных объектов?