C#从Vector3s中随机选择

本文关键字:随机 选择 Vector3s | 更新日期: 2023-09-27 18:27:47

这是我第一次使用C#。我试图将transform.position随机分配给L1、L2或L3。我制作了一个Vector3数组,然后从3个Vectors3中随机选择1个,但这似乎不起作用。我该如何解决这个问题?提前谢谢。顺便说一句,我正在使用MonoDevelop with Unity。

L1=new Vector3(x,y,z);
L2=new Vector3(y,x,z);
L3=new Vector3(z,x,y);
Random rand=new Random();
Vector3[] randomVector3=new Vector3[]{L1,L2,L3};
transform.position=randomVector3[random.Next(0,2)}; //error here

//注意:如果我使用transform.position=L1,它确实有效,但就像前面提到的,我希望它是随机的。

C#从Vector3s中随机选择

在Unity中,您只需使用随机范围

Vector3[] randomVector3 = {L1,L2,L3};
transform.position = randomVector3[Random.Range(0, 3)];

您需要使用0, 3,因为该函数对第二个参数是独占的。

你也可以聪明地使用:

Random.Range(0, randomVector3.Length)