Xsens Suit -> Xsens Client Model -> Xsens Unity Live Animation Model
3가지 변환을 거치게 됨
1 -> 2의 경우 1번이 움직일 때 센서의 데이터를 전달,
2번이 받은 센서 데이터를 베이스로 JointNumber에 해당된 관절을 움직여줌
2 -> 3의 경우 2번이 관절을 움직인 데이터를 전달(휴머노이드로 변환하여 전송)
3번이 받은 휴머노이드 데이터를 모델 Avatar에 적용하여 움직임
1 -> 2로 가는 센서 데이터 전송
2에서 센서 데이터를 관절 데이터로 변환하는 함수
관절 데이터를 Unity 휴머노이드로 변환하는 함수
3에서 받은 휴머노이드를 targetAvatar에 적용하는 함수
Delegate 사용해서 XsensJointManager → SensorDataSender에 이벤트 등록은 해놓은 상태.
이후 필요할 시 XsensJointManager Pooling 설정 변경
Sensor 17개 (eXsensJointPoint)를 가지는 ModelSensorPoint 클래스
SensorData는 position(x, y, z), Quaternion(x, y, z, w)를 가지며 기본 0.0f
매니저에서 JointSpanwer에게 생성 요청
매니저 내부에서는 현재
Base(Xsens) → Base(Xsens), Base(Xsens) → VRM(IkomaMiru) 변환만 만들어놨음
baseAvatar, targetAvatar 변경 기능 필요
테스트용으로 센서와 해당 센서가 담당하는 관절의 Pos / Rot 체크

veloicty 및 애니메이션 플레이 시 차이 값 테스트 해야하고
센서의 Quaternion 수치를 관절에 맞출지 고민중.
같은 강체로 회전축의 방향은 동일하기 때문에 해도 되지 않을까 싶음.