目前,我的代码加载到3D模型中,使用该模型创建节点,并在场景中显示节点 . 设置节点的比例/旋转(euler角度)可以正常工作 . 但是,我正在尝试设置节点相对于世界原点的位置,我不希望节点连接到平面 .
我试过设置node.position和node.worldPosition无济于事;虽然节点的位置发生了变化,但是当相机移动时,节点并没有使用ARKit,所以我想知道我需要做什么,所以任何帮助都会非常感激 .
编辑:奇怪的是,如果我将坐标设置为说SCNVector3(0,3,0)就可以了,但是如果我超过一定数量的距离它似乎失败了 . 这是预期的
1 回答
首先,这些常见问题可能导致世界跟踪不良 .
Poor ligthing. 导致可用于跟踪的特征点数量较少
Lack of texture 导致可用于跟踪的特征点数量较少
Fast Movement 导致图像模糊,导致跟踪失败
但是,我相信你的情况正在发生(调试有点棘手)......你最有可能将加载的模型放在场景中检测到的水平面下面 .
换句话说,您可能使用负Y坐标定位SCNNode,该坐标将节点置于水平检测平面下方并在更改cameraView时使模型漂移
尝试将节点的Y位置设置为0或小的正值,如0.1米
z = -1将SCNNode 1米放在cameraView前面 .
注意:我自己使用我用于测试目的的游乐场验证了这个问题 .