我正在使用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/

10-09 01:17