작업자 : 장병래
랜덤한 위치로 통통 튀는 기믹이므로 먼저 축구공과 충돌할 벽(wall)을 생성했습니다.
추가했습니다.
Gravity Scale이 기본 1로 설정 되어 있는데 중력의 영향을 적게 받기 위해서 0으로 변경하였으며
Collision Detection을 Discrete에서 Continuous로 변경했습니다.
wall은 고정되어 있는 Object 이기 때문에 정적(static) collider와 충돌을 감지하는데 유리한
Continuous를 사용했습니다.
ball의 특성을 추가하기 위해 Material에는 Physics Material 2D을 생성하여 추가하였습니다.
public class wallBounce : MonoBehaviour
{
[SerializeField] [Range(500f, 2000f)] float speed = 1000f;
//ball 이동속도 최소 500f ~ 최대 2000f
public Rigidbody2D rb;
float xBall, yBall;
void Start()
{
rb = GetComponent<Rigidbody2D>();
xBall = Random.Range(-1f, 1f);
yBall = Random.Range(-1f, 1f);
Vector2 dir = new Vector2(xBall, yBall).normalized;
//xBall과 yBall 값을 이용해 dir를 생성
//normalized는 방향 벡터의 크기를 1로 만들기 때문에, 단위 벡터로 방향만 남는다.
rb.AddForce(dir * speed);
// Rigidbody2D에 AddForce를 사용해 dir 방향으로 힘을 가함
힘의 크기는 speed에 의해 결정되며, 이 힘으로 공이 움직인다.
}
}