[TIL] 2025-06-25 알고리즘 문제, AddImpulse 사용 문제
2025-06-25 TIL
알고리즘 문제
콜라 문제와 비슷하지만 좀 더 쉽고 간단한 문제였습니다.
[프로그래머스][C++] 치킨 쿠폰
최종 프로젝트
AddImpulse 사용 문제
한번에 많은 액터를 스폰시키고, AddImpulse
사용 중 해당 액터가 입력한 값보다 훨씬 큰 힘으로 날아간다는 문제가 있었습니다.
AddImpulse
를 사용하기 때문에 해당 함수에 의해 멀리 날아간다고 추측했습니다.
추측을 확인해보기 위해서 가하는 힘을 최대한 줄여보았지만 문제가 해결되지 않았고, 심지어 AddImpulse
의 힘을 0으로 설정해도 멀리 날아가는 문제가 있었습니다.
위의 결과로 인해서 AddImpulse
함수가 문제되지 않았다는 것을 알 수 있었고, 이제는 어떤게 문제인지 추측해보아야 했습니다.
어떤 부분에서 문제가 됐는지 추측해보기 어려워 메시 컴포넌트의 질량을 수정해보았습니다.
질량 또한 어떤 값이 들어와도 멀리 날아가는 문제가 있었습니다.
그래서 이건 직접 해결하기에 어렵다고 판단하여 최대한 정보를 수집해보았습니다.
그래서 알아낸 것이 SimulatePhysics
가 활성화되면 활성화 된 액터끼리 밀어낸다는 것을 알아냈습니다.
현재 코드에서는 AddImpulse
를 위해서 SimulatePhysics
를 활성화하며, 다량의 액터가 모두 같은 위치에 존재하기 때문에 같은 위치에서 서로를 밀어내려하는 문제로 인해 굉장히 큰 힘으로 멀리 날아간다고 추측해보았습니다.
이 추측을 확인해보기 위해서 위치를 조금씩 옮기면서 스폰해보니 문제가 해결되었고, 이로 인해서 같은 위치에 SimulatePhysics
가 활성화된 많은 수의 액터가 스폰되어 발생한 문제라는 것을 알게되었습니다.
이제 본격적으로 어떤 부분에서 문제가 되었는지 알아냈기 때문에 기존 로직을 해결할 수 있게 됐고, 스폰을 어떻게 시킬지에 대한 문제는 기획적인 부분이라고 판단해서, 기획적으로 팀원들과 상의해본 후 다량의 액터의 스폰 중 굉장히 짧은 시간의 딜레이를 주어 스폰되도록 문제를 해결했습니다.
댓글남기기