Пишу игру runner platformer на Unity, не получается добавлять платформы рандомно по горизонтали
Как сделать так, что бы платформы добавлялись рандомно не всегда по центру, а например со сдвигом влево и вправо по x(-1,1)
void Spawn() {
GameObject go = Instantiate(TilesArray[RandonPrefab()]) as GameObject;
go.transform.SetParent(transform);
go.transform.position = Vector3.forward * SpawnZ;
SpawnZ += lenprefabs;
objs.Add(go);
}
Ответы (2 шт):
Автор решения: Methorn
→ Ссылка
При создании объекта(метод Instantiate()) можно прописать несколько параметров: сам объект, позицию, поворот и родителя. Так вот вам надо менять значение позиции. Подробней тут Вам просто нужно записывать рандомное значение, вот дока
Автор решения: user383829
→ Ссылка
void Spawn(int prefabindx = -1) {
GameObject go;
Vector3 position = new Vector3(Random.Range(-0.5f, 0.5f), 0, SpawnZ);
if (prefabindx == -1)
go = Instantiate(TilesArray[RandonPrefab()], position, Quaternion.identity);
else
go = Instantiate(TilesArray[prefabindx], Vector3.forward*SpawnZ, Quaternion.identity);
}