Brow 에 참여하게 된 이유는 사실 창훈이 옆자리에 앉아있어서라고 생각한다. 자주 그당시 나에게 자주 물어보긴했는데 무슨 말을 해줬는지 기억은 나지는 않는다. 그래도 도움이 되었다니 기쁘고, 크래딧까지 올려준 마음에 감사 할 뿐이다.(더 잘 세팅해줄껄. ㅠ ㅠ)
자동차는 아주 기본기에 충실한 몇가지 자동화 기능과 앞바퀴를 드는 애니메이션 세팅이 되어있다.
바퀴
바퀴회전계산은 파이썬태그로 프리셋화 시켰다. 현재 프레임과 지난 프레임의 위치를 통해 한 프레임간 이동한 거리를 찾고 바퀴의 원주율에 맞게 회전시키는방식이다. 한프레임간 거리를 비교할때 기본적으로는 Previous position 같은 포트정보를 이용할수있지만, 전진, 후진을 판단하기위해 간단히 position z 값도 이용했다. wheel Ghost(-1F) null 이 한프레임 늦게 바퀴의 위치를 따라다니고 있다.
서스펜션
서스펜션은 Slider connector와 Spring dynamic을 사용했다. 앞뒤 , 좌우로 나누고 Range Mapper 노드로 기우는 정도를 조절했다. 아래는 3배정도 강하게 조절된 모습이다.
Steering wheel
바퀴에만 회전 방향에 반응할수있도록 적용하였다. 바퀴와 마찬가지로 추가적인 null 이 바디의 전 위치(매트릭스)를 기준으로 변화량을 체크하고 그에 따라 Range Mapper 와 같은 방식으로 FL_Direct의 회전 값으로 전달되고 있다.
하지만 아래 gif 를 보면 바퀴의 방향이 순간적으로 방향이 바뀌면서 튀어버린다. 이부분을 안정화시키기위해 FL_Drag 가 spring constraint 로 마치 delay effector를 적용한 것처럼 그 사이를 보간할수 있도록 하였다.
보간이 없을 때 바퀴 방향 모션
보간을 적용한 바퀴 방향 모션 (FL_Drag, spring drag effect)