Unity/DashDrift

[Unity] 3D 아케이드 레이싱 게임 개발기 -1

danpat77 2025. 9. 10. 22:39

3D 아케이드 레이싱 게임을 만들면서 아케이드 레이싱의 특유의 통통 튀는 느낌을 구현하기 위해 자료를 찾던 중 해당 영상이 자동차의 서스팬션에 대해 학습하기 좋은 것 같아 내용을 정리를 해보았다.

 

 

https://www.youtube.com/watch?v=sWshRRDxdSU

 


서스펜션

서스펜션은 차량의 바퀴와 차체를 연결하여 충격을 흡수하고 주행 시 안정성을 유지하는 창지이다.

 

해당 영상에서 서스펜션을 구현하기 위해 각 바퀴에서 지면을 향해 가상의 광선(Ray)을 쏘는 레이캐스팅 방식을 사용해서 광선이 지면에 닿으면, 그 거리를 이용해 압축량을 계산하고 프링 힘(Spring Force)을 차체에 위로 적용하여 차량이 튀어 오르도록 만듭니다.


댐퍼

댐퍼는 서스펜션 시스템의 핵심 부품으로, 스프링의 진동을 억제하여 차량이 계속 튀어 오르는 현상을 막아주는 장치이다

댐퍼가 없으면 스프링 처럼 계속해서 차량이 튀어 오르기 때문에 댐퍼가 꼭 필요한 기능이다

 

차량의 수직 속도(Spring Velocity)를 계산하고, 이 값에 댐퍼 강도(Damper Stiffness)를 곱하여 감쇠력(Damp Force)을 계산합니다. 최종적으로 스프링 힘에서 감쇠력을 빼고 이를 차체에 적용하여 끝없는 바운스를 제어하고 부드러운 움직임을 만들어줍니다.


마무리

해당 영상을 통해 아케이드 레이싱 게임에서 통통 튀는 물리 효과의 원리를 이해하고 직접 구현을 해보았다.

유니티에는 Wheel Collider 라는 기능이 있지만 단순히 기존 기능을 사용하는 것보다 직접 코드로 구현해보고 물리 엔진의 기본 원리를 더 깊이 이해하는데 큰 도움이 되기 때문에 기존 기능을 사용하지 않고 구현 해보는 것도 좋은 것 같다.

'Unity > DashDrift' 카테고리의 다른 글

[Unity] 3D 아케이드 레이싱 게임 개발기 -2  (0) 2025.09.23