반응형
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방향 값을 높여 주면됩니다)
이상, 오브젝트 개별적으로 중력값 다르게 하는 방법이었습니다.
반응형
'유니티 > 프로그래밍' 카테고리의 다른 글
[Unity] 유도탄 만들기 (2) | 2019.10.16 |
---|---|
[Unity] Physics.OverlapCapsule 함수 사용법 (1) | 2019.09.19 |
[Unity] Quaternion.Lerp (회전보간) 이 끝났는지 확인하기 (1) | 2019.07.17 |
[Unity] AudioSource 사운드 재생 갯수 제한두기 (0) | 2019.07.11 |
[Unity] 파티클 타겟지점으로 움직이게하기 (0) | 2019.06.26 |