即使更改了iPhone的位置,我也想将红色节点放在蓝色节点之后。
(请参阅图) 当我启动AR App并点击屏幕的中心以添加蓝色节点时,我得到了蓝色节点x,y,z轴,并将红色节点的z轴设置得更远。在这种情况下,我的应用程序将按照我预期的方式运行。
问题是当我旋转iPhone时,点击屏幕以添加蓝色节点,红色节点似乎和初始状态一样深。
我期望的是,当我添加一个蓝色节点时,始终将红色节点置于其后(添加时,蓝色节点应始终覆盖红色节点)
有人知道怎么做吗?
我有这段代码,可以使节点在添加节点时始终面对摄像机。但是太空中的位置并不是我所期望的
//TAP THE SCREEN
let worldTransform = hitTestResultsWithFeaturePoint.worldTransform
let hitTransform = SCNMatrix4(worldTransform)
let hitVector = SCNVector3Make(hitTransform.m41, hitTransform.m42, hitTransform.m43)
let rotate = simd_float4x4(SCNMatrix4MakeRotation(sceneView.session.currentFrame!.camera.eulerAngles.y, 0, 1, 0))
let rotateTransform = simd_mul(worldTransform, rotate)
//ADD THE BLUE NODE
let bluenode = SCNNode()
bluenode.transform = SCNMatrix4(rotateTransform)
bluenode.position = SCNVector3(hitVector.x, hitVector.y, hitVector.z)
//ADD THE RED NODE BEHIND THE BLUE NODE
let rednode = SCNNode()
rednode.transform = SCNMatrix4(rotateTransform)
rednode.position = SCNVector3(hitVector.x, hitVector.y, hitVector.z - 0.05)
答案 0 :(得分:0)
将红色节点添加为坐标为(0.0,0.0,-0.05)的蓝色节点的子节点,然后使用“ SCNBillboardConstraint”使蓝色节点面对摄像机应该可以解决问题