我正在使用Unity和C#,并且想编写一个函数,将x和y坐标作为(0,0)单位圆上随机点的Vector2返回。
看来有一个函数UnityEngine.Random.insideUnitCircle();
在单位圆内获得一个随机点,并且有UnityEngine.Random.onUnitSphere()
,但是我如何在单位圆上获得一个点呢?
最佳答案
您可以只使用Vector2
返回的UnityEngine.Random.insideUnitCircle;
的normalized property。它将返回一个向量
方向相同,但长度为1.0。
由于您使用的是单位圆,因此可以满足您的需求。您还希望通过将结果默认为有效值来处理零向量的罕见情况:
return myVector == Vector2.zero ? Vector2.one : myVector;
关于c# - 在(0,0)的单位圆上获得随机点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49678042/