2015-01-01 2 views
0

В моем прорыве клона я пытаюсь разбить мяч, и в этот момент они принимают случайные направления для перемещения. Это направление определяется в Start() каждого экземпляра шара. При наблюдении кажется, что чем больше шаров я разделяю, тем более очевидным становится, что все шары движутся в одном направлении, в верхний правый угол экрана. Может ли кто-нибудь помочь? Почему значения одинаковы при каждом разрыве шаров? Это мой код:Unity3D: Случайные значения выглядят одинаково?

// 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; 
    } 
+0

Ну, может быть, вы положили 'Debug.log (randDirection);' перед 'return randDirection; ', чтобы проверить, похожи ли они. В быстром тесте, просто генерирующем Vector2, как и вы, они не там. –

ответ

0

Извините, ребята, я случайно попал в градусы (от 0 до 360), поэтому результаты всегда были положительными. Проблема решена.

Смежные вопросы