Аккуратно переместите сборные в открытое пространство, прежде чем создавать новый - PullRequest
0 голосов
/ 07 апреля 2019

Я пытаюсь создать несколько префабов перед камерой, используя этот код:

public GameObject prefab;
private uint instantiatedPrefabs = 0;

public void createObj()
{
    if(instantiatedPrefabs < 10)
    {
        Instantiate(prefab, new Vector3(1, prefab.GetComponent<Renderer>().bounds.size.y/2, 1), Quaternion.identity);
        instantiatedPrefabs++;
    }
}

Это работает безупречно, но если новый префаб появляется внутри одного или нескольких предсуществующих префабов, то предсуществующие префабы испытывают что-то вроде взрыва и вылетают из нового.

Как я могу обнаружить, что в том месте, где я хочу положить новый сборный домик, есть префабы и аккуратно переместить их в сторону, чтобы освободить достаточно места?

1 Ответ

0 голосов
/ 07 апреля 2019

Проще всего было бы иметь в виду скороговорку, похожую на сетку или что-то в этом роде. Итак, вы знаете, что вы собираетесь порождать 10 игровых объектов, поэтому просто разместите их как новые Vector3 (1, instantiatedPrefabs, 1), чтобы они были просто в вертикальной линии. Вы можете иметь переменную для позиции x.

...