문제상황:


https://gall.dcinside.com/mgallery/board/view/?id=godot&no=2380&page=1

safe_margin때문에 바로 피볼줄이야https://maddymakesgames.com/articles/celeste_and_towerfall_physics/index.htmlhttps://maddymakesgames.com/articles/celestegall.dcinside.com



해결법:


24b0d121e09c28a8699fe8b115ef046f5c45999b

처음에는 test_move자체를 0.999픽셀만 가게하는걸로 체크하면 되지않을까 했는데



24b0d121e09c28a8699fe8b115ef046543a8ff

(퍼런박스들의 집합이 캐릭터)

이 상황에서 캐릭터가 우측으로 한칸 이동하려하면 y축방향으로도 safe_margin이 적용되서 충돌판정이 남

결국 그래서



24b0d121e09c28a8699fe8b115ef04699331f0bb


어차피 모든 오브젝트는 1px단위로 움직이므로 1 이하 단위로 collider를 줄여도 상관이 없음을 생각해서

collider 자체를 0.001px씩 줄이니까 일단 모든 상황에서 잘되긴함


근데 도대체 왜 safe_margin을 test_move에서 까지 최소 0.0001로 강제하는지 모르겠음.. 꼬우면 고쳐서 빌드해서 쓰면 되는데 그건좀 싫어