- Home /
Question by
Essexrookie · Feb 12, 2019 at 03:21 PM ·
vector3y-axisrestrict
Restrict y axis value on random Vector3
I have gameobjects spawning at a random locations within the Y axis but having difficulty restricting the top and bottom values.
public GameObject gameObject;
public Vector3 spawnValues;
private float spawntime;
public float spawnstart;
public float spawnwait;
void Start()
{
spawntime = spawnstart;
}
void Update()
{
Vector3 spawnPos = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width * 1.3f, Random.Range(-spawnValues.y + 2, Screen.height - 2), 1));
if (spawntime <= 0)
{
spawntime = spawnwait;
Random rnd = new Random();
int num = Random.Range(1, 10);
for (var i=0; i <num; i++)
{
Vector3 pos = Camera.main.ScreenToWorldPoint (new Vector3(Screen.width * 1.3f, Random.Range(-spawnValues.y + 2, Screen.height - 2), 1));
Instantiate(gameObject, pos, Quaternion.identity);
}
}
else
{
spawntime -= Time.deltaTime;
}
}
Comment
Best Answer
Answer by dan_wipf · Feb 12, 2019 at 03:28 PM
You can do something like this:
Vector3 temp = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width * 1.3f, Random.Range(-spawnValues.y + 2, Screen.height - 2), 1));
Vector3 spawnPos = new Vector3(temp.x,Math.Clamp(temp.y, yourminval,yourmaxval),temp.z);
Your answer
![](https://koobas.hobune.stream/wayback/20220612191612im_/https://answers.unity.com/themes/thub/images/avi.jpg)