반응형

Rigidbody 컴포넌트 사용시 해당 오브젝트에게 중력을 부여할수 있습니다.

 

그 중력 값은 Edit > Project setting > physics 가면 중력값 변경할수 있습니다.

 

혹은 스크립트 상에서  Physics.gravity = new Vector3(0,-10f,0); 와 같이 코드입력하여 제어 할수 있습니다.

 

 

위와같이 중력값을 변경하게 되면 Rigidbody 컴포넌트를 가진 오브젝트들이 영향을 받습니다.

 

오브젝트 개별적으로 중력값 다르게 하려면 어떻게 해야할까요 

 

 

오브젝트 개별적으로 중력값 다르게 하는 방법입니다 .

 

1. 해당 오브젝트에 Constant Force 컴포넌트를 추가 하고 Force 벡터 값에 원하는 중력값을 넣습니다.

 

 

 

 

2. 스크립트상에서 FixedUpdate () 함수문 안에 Rigidbody.Addforce 활용하는것입니다.

 

 float forceGravity = 50f;
    private void FixedUpdate()
    {
        rigidbody.AddForce(Vector3.down * forceGravity);
    }

 

 

위 두방법으로 하게되면 Physics.gravity 값을 받고 추가적으로 1번, 2번 방법의 값을 받아 

더 중력값을 받거나 덜 중력값을 받게 하여 오브젝트 개별적으로 중력값 줄수 있게 됩니다.

 

 

사용 예시)

 

- 특정 캐릭터는 점프후 낙하속도를 빠르게 하고싶다.

  (위 2번 방법으로는  y방향 값을 높여 주면됩니다)

 

 

이상, 오브젝트 개별적으로 중력값 다르게 하는 방법이었습니다.

반응형

+ Recent posts