물리 엔진과의 동기화가 필요한 물리적 감지나 판정을 할 때는 FixedUpdate를 사용하는 것이 일반적입니다. Unity에서는 물리 연산이나 충돌 판정을 FixedUpdate에서 실행하는 것이 권장되며, 몇 가지 주요 이유는 다음과 같습니다.
1. 물리 엔진과의 동기화
- Unity의 물리 연산은 FixedUpdate 주기로 실행됩니다. 물리적 판정(Physics.SphereCastAll)을 Update에서 처리할 경우, 프레임마다 호출되어 물리 계산과 타이밍이 어긋날 수 있습니다. FixedUpdate에 두면 물리 엔진의 계산 주기와 맞춰져 보다 안정적인 감지가 이루어집니다.
2. 일관된 타이밍 유지
- Update는 프레임 속도에 따라 실행되지만, FixedUpdate는 일정한 시간 간격으로 실행됩니다. Targeting()을 일정한 간격으로 호출하여 감지 정확성을 높이고, 감지가 너무 자주 실행되는 것을 방지할 수 있습니다.
3. RigidBody와 물리 연산의 자연스러운 연계
- Targeting()의 감지 결과에 따라 AddForce와 같은 물리적 동작(Attack 코루틴)으로 이어질 경우, 이를 FixedUpdate에서 실행하는 것이 자연스러워 물리적 반응을 부드럽고 안정적으로 처리할 수 있습니다.
'Unity' 카테고리의 다른 글
[Unity] 3D에서 UI를 만들 때 꼭 알아야하는 필수 컴포넌트 RectTransform! (1) | 2024.11.07 |
---|---|
[Unity] 유니티 코루틴(Coroutine) 깊고 간결하게 정리! (2) | 2024.11.06 |
[Unity] Scale의 비밀 부모-자식 관계의 스케일 상속은 각 계층에서 곱셈 방식으로 적용 (0) | 2024.11.06 |
[Unity] 기본 호출 함수의 생명주기 Start() vs Awake() (0) | 2024.11.06 |
[Unity] 2D 맵에서 가상의 벽을 만들고 싶을 때! (0) | 2024.10.25 |