如何在Spark AR中将屏幕边界转换为本地坐标?



如何将Spark AR设备的屏幕坐标转换为本地世界坐标?例如,我想将一个对象放置在屏幕的左边缘。我的问题是,对象使用基于屏幕中心以米为单位的中心枢轴点的本地坐标,无论设备是否以像素为单位给出屏幕尺寸。

我不知道是否有配给,以及Spark AR如何在不同的设备上测量这一点。

你需要看看 SceneModule。平面应该是焦距的子项。


const TouchGestures = require('TouchGestures');
const Scene = require('Scene');
const R = require('Reactive');
const plane = Scene.root.find('plane0');
TouchGestures
.onTap()
.subscribe(
(gesture) => {
const focalPosition = Scene.unprojectToFocalPlane(R.point2d(gesture.location.x, gesture.location.y));
plane.transform.x = focalPosition.x.neg();
plane.transform.y = focalPosition.y;
plane.transform.z = 0;
}
);

最新更新