Я работаю с датчиком для управления вращением модели руки в ТРИ. Я хочу иметь возможность применить смещение (при нажатии кнопки) к модели руки, чтобы скорректировать любые начальные расхождения положения датчика.
Я использую кватернионы, и я не совсем понимаю, как это сделать.
Похоже, что подход должен заключаться в том, чтобы получить текущую позицию, получить разницу между текущей позицией и исходной позицией [0,0,0,1] и применить это смещение к значениям датчика в реальном времени.
Я пробовал это до сих пор:
// on button click
quaternionOffset.copy(quaternion.multiplyQuaternions(quaternion.inverse(), startPosition))
// on update
quaternion.multiply(quaternionOffset)
исходное положение датчика (пример)
исходное положение (пальцы направлены вперед)
Спасибо за помощь