728x90
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방향 값을 높여 주면됩니다)
'C#' 카테고리의 다른 글
[C#][Unity] 2D 오브젝트 화살표로 강조표시 (0) | 2022.10.16 |
---|---|
[C#][Unity] 2D 캐릭터 이동시 현재방향 저장 (0) | 2022.10.14 |
[Unity] 오브젝트 충돌 (2) | 2022.09.26 |
[C#][Unity] UI 속성 (0) | 2022.09.16 |
[Unity] 타일맵으로 맵 구성하기 (0) | 2022.09.11 |