我正在创建一个灯光,它是一个聚光灯,我想跟随这个人(也是一个 SCNNode
)从人上方的小聚光灯可见,这是灯的代码 -
let light = SCNNode()
light.light = SCNLight()
light.light?.type = SCNLightTypeSpot
light.scale = SCNVector3Make(1, 1, 1)
light.position = SCNVector3Make(0.076, 3.715, -0.058)
light.eulerAngles = SCNVector3Make(-90, 2.578, -2.238)
let constraint2 = SCNLookAtConstraint(target: person)
constraint2.gimbalLockEnabled = true
light.constraints = [constraint2]
scene.rootNode.addChildNode(light)
所以它在开始时有效,但是当游戏开始时,光线似乎越来越远并充满了整个场景这不是我想要的,我希望它一直在人的正上方而不是变大并填满整个场景,有人可以帮忙吗?谢谢
这是在swift
最佳答案
将您的轻型节点附加到人员节点而不是根节点。如果您的人物节点旋转,则将人物节点放在不旋转的容器节点中,并使您的灯光成为该节点的子节点。使用容器节点进行平移(人和光),如果需要旋转人(比如鞠躬),请使用人节点。
关于ios - 如何让场景套件中的光节点始终位于人的正上方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37647573/