首页 > 解决方案 > 手控器控制平面时如何防止平面z坐标发生变化

问题描述

我试图根据用户的手部运动使平面移动,但我不希望 z 位置改变。我只希望平面的 x 和 y 位置根据用户手的位置而改变。那可能吗?

const Diagnostics = require('Diagnostics');
const Scene = require('Scene');
const HandTracking = require('HandTracking');

const directionalLight = Scene.root.find('directionalLight0');


const directionalLightIntensity = directionalLight.intensity;

const hand = HandTracking.hand(0);
const plane = Scene.root.find('plane0');
plane.transform = hand.cameraTransform;

标签: javascriptspark-ar-studio

解决方案


您可以将手的变换信号绑定到平面的 X 和 Y 轴,这样您可以手动控制 Z 轴的值。

const Scene = require('Scene');
const HandTracking = require('HandTracking')

//Make sure there's a plane named like this in the scene.
const plane = Scene.root.find('plane0');
const hand = HandTracking.hand(0);

//Fixed Z value signal
const planeZ = 0;

plane.transform.x = hand.cameraTransform.position.x;
plane.transform.y = hand.cameraTransform.position.y;
plane.transform.z = planeZ;

推荐阅读