Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

피너클의 it공부방

유니티 ForceMode 본문

유니티 여러가지

유니티 ForceMode

피너클 2024. 9. 30. 12:00
728x90
반응형

ForceMode : Rigidbody.AddForce 사용할때 적용하는 옵션이다.

Force, Acceleration, Impluse, VelocityChange 총 4개가 있다.

정의

Force : 계속해서 힘을 더해준다. 질량이 적용된다.

Acceleration : 계속해서 가속력을 더해준다. 질량은 무시한다.

Impluse : 갑자기 힘을 준다. 질량이 적용된다.

velocityChange : 갑자기 속도 변화를 준다. 질량은 무시한다.

예시

Force

시작하자마자 Vector3.forward * 100f 의 힘을 줘보겠다.

자세히 보면 아주 미세하게 움직이는걸 볼수있다.

그렇다면 update문에 적어놓으면 어떻게 될까?

속도가 점점 올라가는걸 볼 수 있다.

여기서 중요한건 force는 질량이 적용된다는 것이다.

 

질량 (Mass) 를 10으로 설정하면 어떻게 될까? (원래는 1이었다.)

아까보다 굉장히 느려진걸 볼 수 있다.

이것이 force의 동작과정이다.

천천히 힘을 주며 질량이 적용된다.

반응형

Acceleration

똑같이 시작하자마자 힘을 줘보겠다.

위에 force와 비슷하게 움직인다.

그렇다면 update에 넣으면 어떻게 될까?

이또한 위에 Force와 비슷하게 움직인다. 

하지만 차이가 발생하는 부분은 질량이다.

아까 Force에서는 질량을 10으로만 올려도 움직임에서 차이가 났다.

이번에는 질량을 10000으로 했다.

하지만 질량이 1일때와 동일하게 날아가는걸 볼수있다.

이것이 Force와 Acceleration의 차이, 질량이 적용되고 적용 안되고의 차이다.

Inpluse

이제부터 스크립트는 따로 사진으로 보이지 않고 실행 결과만 보여주겠다. 생각보다 훨씬 귀찮다.

start에 작성했을때이다.

위에 Force와 Acceleratoin과는 달리 한방에 100의 힘이 들어가는걸 볼수있다.

하지만 한번만 힘을 주기 때문에 결국 멈치는것도 볼수있다.

그렇다면 update에 작성하면 어떨까?

프레임마다 힘이 들어가기에 엄청난 속도로 날아가는걸 볼 수 있다.

이번에는 질량을 10으로 하고 start에 작성해봤다.

Impluse는 질량이 적용되기때문에 질량이 1일때보다 조금 움직이는걸 볼 수 있다.

VelocityChange

start에 작성했을때

위에 Impluse와 똑같다.

updaet에 작성했을때

이또한 똑같다.

하지만 또다시 차이가 발생한다. 이번에는 질량을 10000으로 하고 update에다 작성해놨다.

역시 VelocityChange는 질량이 적용되지 않기에 그대로 날아가는걸 볼 수 있다.

728x90
반응형
Comments