Как сбросить матрицу камеры в мире на webXR - PullRequest
0 голосов
/ 28 апреля 2020

Я использую camera.matrixWorld.decompose(), чтобы получить текущую матрицу камеры AR следующим образом:

var position = new THREE.Vector3();
var quaternion = new THREE.Quaternion();
var scale = new THREE.Vector3();
camera.matrixWorld.decompose(position, quaternion, scale);

Они инициализируются по умолчанию (например, {x:0, y:0, z:0} для позиции), когда я нажимаю кнопку AR , (https://threejs.org/examples/jsm/webxr/ARButton.js)

Интересно, возможно ли сбросить матрицу во время работы приложения без необходимости go назад и повторного нажатия кнопки AR.


Подробнее: Я хотел бы знать, возможно ли сбросить положение камеры AR на [0, 0, 0], как если бы перезапустить сеанс AR. Например, если я запускаю приложение, когда кладу телефон на стол, эта позиция будет [0, 0, 0], и я вижу куб, расположенный в [0, 0, -3]. И если я перейду к своей кровати, я больше не увижу куб передо мной, потому что он все еще на моем столе. Если я перезапущу приложение, то смогу увидеть куб на моей кровати, так как на моей кровати находится положение по умолчанию [0, 0, 0]. Интересно, можно ли было бы нажать пользователю кнопку, чтобы сбросить позицию на [0, 0, 0], не перезапуская приложение.

...