2016-06-05 10 views
1

Je crée une lumière qui est un projecteur que je veux suivre la personne (aussi un SCNNode) Je veux que la lumière soit directement au-dessus de la personne afin que la scène soit sombre et visible seulement de la petite lumière au-dessus du personne, c'est le code de la lumière -Comment puis-je obtenir un nœud lumineux dans le kit scène directement au-dessus de la personne?

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) 

il fonctionne au début, mais quand le jeu commence, la lumière semble se plus loin et remplir toute la scène qui est pas ce que je veux, Je veux qu'il soit constamment au-dessus de la personne à tout moment au lieu de grossir et de remplir toute la scène, quelqu'un peut-il m'aider? Merci

Ceci est en swift

+0

N'est-ce pas simplement le fait de déplacer le nœud lumineux en ligne avec le mouvement de votre personne? –

+0

Attachez votre noeud de lumière au noeud de personne au lieu du noeud de racine. Si le nœud de votre personne tourne, placez le nœud de personne dans un nœud de conteneur qui ne tourne pas et faites de votre lumière un enfant de cela. Utilisez le nœud du conteneur pour la traduction (de la personne et de la lumière), utilisez le nœud de personne si vous avez besoin de faire pivoter la personne (en prenant un arc, par exemple). – bpedit

+0

wow je suis stupide, oui cela a fonctionné merci. Je devais juste faire - person.addChildNode (light) –

Répondre

1

votre noeud Attachez la lumière au nœud de personne au lieu du nœud racine. Si le nœud de votre personne tourne, placez le nœud de personne dans un nœud de conteneur qui ne tourne pas et faites de votre lumière un enfant de cela. Utilisez le nœud du conteneur pour la traduction (de la personne et de la lumière), utilisez le nœud de personne si vous avez besoin de faire pivoter la personne (en prenant un arc, par exemple).