오 스레드를 사용하는 다른 방법이 떠올랐다. frame을 업데이트하는 stepPhysics() 동작 전부를 스레드로 만들었는데, 주기를 체크하는 동작만 모아두고 주기가 되면 1프레임 업데이트를 수행하는 스레드를 실행하는 것이다. → 유저의 접속이 많아지면 스레드 수가 가변하면 더 유리할 것 같다. 그런 의미의 조치!
갑자기 랜덤을 공부하고 싶어서 아래 기록을 남겼다.
기존에 직접 만들었던 Vector2 클래스를 PxVec2 클래스가 상위호환으로 완전히 대체 가능할 것 같아서 Vector2 클래스는 제거하고 PxVec2로 모두 변경했다.
Server에서 InitLevel()을 수행하며 생성되는 모든 Object를 Client로 내려줘야 한다.
셔틀콕의 cock 부분을 만들었다. Z축 회전만 허용하도록 X, Y축 은 잠갔다.
그런데 이 골프공 같은 셔틀콕을 만들고나니, 서버에서 gameobject는 자신의 rigidDynamic, static 등 정보를 갖고 있어야 할 것 같다. 설계를 잠시 고민해보자.
빨간 것은 네트요, 노란 것은 셔틀콕 cock이다(골프공이 아니다).
TODO
shuttlecock에게 위치와 velocity를 동기화 해주었다. 왼쪽은 shuttlecock의 cock 위치이고 오른쪽은 client에서 렌더링된 shuttlecock의 위치이다.