Что-то не так с вашим вызовом метода Instatiate . В способе, которым вы его используете, второй параметр должен иметь тип Vector3
, а transform.position.y
- тип float
. Вот пример кода, который, я думаю, вы найдете полезным.
float spawnRate = 5f;
float spawnTime;
//how high you would like your new object to spawn above transform.position
float yValueDifference = 5f;
void Update ()
{
if (Time.time - spawnTime > spawnRate)
{
//pick a random number from 0-1
int type = Random.Range(0, 2);
Vector3 position = new Vector3(transform.position.x, transform.position.y, transform.position.z);
if (type == 1)
position.y += yValueDifference;
//if type is 0, use prefab1, if type is 1, use prefab2
GameObject prefab = type == 0 ? prefab1 : prefab2;
Instantiate(prefab, position, Quaternion.identity);
//reset the timer
spawnTime = Time.time;
}
}