VRChat 아바타 연동 화면
SteamVR 연동 후 VRChat 안에서 아바타의 움직임을 확인한다.
OptiTrack의 모션 데이터를 SteamVR 가상 트래커로 전달하는 프로그램 개발.
자료 범위
SteamVR 연동 시연 영상입니다. VRChat의 아바타·월드는 외부 자산이며, 영상 출력 프레임률은 트래킹 지연이나 정확도 측정값이 아닙니다.
NatNet 수신 연동, 스켈레톤 본 매핑, HMD 캘리브레이션, 포즈 필터와 VMT 출력·GUI 개발
SteamVR 연동 후 VRChat 안에서 아바타의 움직임을 확인한다.
OptiTrack의 모션 데이터를 SteamVR 가상 트래커로 전달하는 프로그램 개발.
SteamVR 연동 시연 영상입니다. VRChat의 아바타·월드는 외부 자산이며, 영상 출력 프레임률은 트래킹 지연이나 정확도 측정값이 아닙니다.
광학 모션캡처와 HMD를 사용하는 현장 구성을 보여준다.
광학 모션 데이터를 SteamVR 가상 트래커에 연결하는 프로그램 개발과 연동 시연.
상용 광학 카메라·HMD·마커 수트를 사용한 현장 연동 시연입니다. 담당 작업은 가상 트래커 프로그램 개발과 연동이며, 장비나 VRChat 아바타·월드의 제작은 포함하지 않습니다. 지연·정확도 측정 영상은 아닙니다.
광학 캡처와 HMD의 원점·방향·바닥 기울기가 달라 본 위치를 그대로 가상 트래커로 보내기 어려웠습니다. 액터의 본 이름과 트래커 역할을 연결하고 추적이 끊긴 상태도 전달해야 했습니다.
Motive 모델 정의에서 스켈레톤과 본 이름을 받아 트래커 역할별 본을 매핑하도록 구성했습니다.
HMD와 광학 Head 위치의 짝 샘플을 수집하고 SVD 기반 Kabsch로 전체 3축 회전과 이동 오프셋을 계산했습니다.
회전 행렬을 쿼터니언으로 바꿔 포즈에 적용하고, 선택적으로 위치 필터와 회전 스무딩을 사용합니다.
VMT Room/Unity OSC 메시지로 위치·회전·활성 상태와 수신 후 경과 시간에 따른 time offset을 전달합니다.
필요한 본이 없거나 종료할 때 트래커 비활성 상태를 보내도록 했습니다.
스켈레톤 수신·본 매핑·좌표 정렬·VMT 출력 구현. 리지드바디 출력과 실장비 정합은 미확인.
실행·측정 결과는 각 사례에 적힌 당시 기록과 조건을 따릅니다.현재 TrackerManager의 rigid body 콜백은 비어 있어 리지드바디가 스켈레톤과 동일하게 트래커 출력까지 지원된다고 쓰지 않습니다. time offset은 PC 수신 이후 경과 시간이며 광학 장비 전체 지연이 아닙니다. 캘리브레이션 RMS는 샘플 정합 잔차로 장비 정확도와 구분합니다.