Random Unity3D:随机值是否相同?

Random Unity3D:随机值是否相同?,random,unity3d,direction,Random,Unity3d,Direction,在我的突破克隆中,我试图分割球,在这一点上,他们假设随机方向移动。该方向由每个球实例的Start()决定。据观察,我分割的球越多,所有球朝着同一方向移动的情况就越明显,朝向屏幕的右上角。有人能帮忙吗?为什么每次球分裂时值都相同?这是我的代码: // Use this for initialization void Start () { ballRB = transform.rigidbody; direction = new Vecto

在我的突破克隆中,我试图分割球,在这一点上,他们假设随机方向移动。该方向由每个球实例的Start()决定。据观察,我分割的球越多,所有球朝着同一方向移动的情况就越明显,朝向屏幕的右上角。有人能帮忙吗?为什么每次球分裂时值都相同?这是我的代码:

 // Use this for initialization
     void Start () 
     {
         ballRB = transform.rigidbody;
         direction = new Vector3(0,1,0);

         //If there's only one ball in the field, being this current one, the default up motion should be used.
         if (GameObject.Find("StartBall").GetComponent<StartBall>().numBalls <= 1) ballRB.AddForce(direction*1000f, ForceMode.Force);
         //If not, there are more balls, which means the player split the ball. A random direction should be used in this case.
         else ballRB.AddForce(GenerateRandomDirection(), ForceMode.Force);

     }


     Vector2 GenerateRandomDirection()
     {
         int randX = Random.Range(0,360);
         int randY = Random.Range(0,360);
         randDirection = new Vector2(randX, randY);
         return randDirection;
     }
//将其用于初始化
无效开始()
{
ballRB=变换刚体;
方向=新矢量3(0,1,0);
//如果场地中只有一个球,即当前球,则应使用默认的向上运动。

如果(GameObject.Find(“StartBall”).GetComponent().numBalls对不起,伙计们,我不小心输入了度数(0到360),所以结果总是肯定的。
问题已解决。

好吧,也许您在
返回randDirection;
之前放置一个
调试.log(randDirection);
来检查它们是否相似。在一个快速测试中,只需生成一些向量2,基本上和您一样,它们就不存在了。