2014-07-16 2 views
0

Le problème suivant se produit indépendamment de l'importation de la scène ou de la création de chaque maillage et de chaque lumière par code.ThreeJS - mauvaise rotation de la lumière

Ma scène se compose d'un plan, d'un cube et d'un spot. Le spot est tourné de 45 degrés sur l'y-achsis. Dans l'exemple 1, il est situé au point (4, 0, 4). Dans l'exemple 2, il est situé au point (4, 0, 5).

La rotation de la lumière est toujours de 45 degrés (0,785398163 radians). Pourquoi la lumière pointe-t-elle toujours vers le centre de la face avant du cube? Je suppose que cela rendrait l'exemple 2 exactement comme montré dans blender, pointant vers le bord du cube.

Voici les exemples:

premier exemple (Rotation correcte):

Je cette scène dans Blender: enter image description here

Il rend ainsi avec ThreeJS: enter image description here

Deuxième exemple (rotation incorrecte):

J'ai cette scène dans Blender: enter image description here

Il rend cette façon ThreeJS: enter image description here

+1

'SpotLights' dans Three.js ne pas utiliser la propriété' light.rotation' quoi que ce soit. Au lieu de cela, ils utilisent 'light.target', qui est un' Object3D'. Est-ce que 'light.target.position' est égal à l'origine dans les deux cas? – WestLangley

+0

La position cible est (0, 0, 0) dans chaque cas, ce qui explique le comportement. Merci beaucoup. –

Répondre

1

SpotLights à Three.js ne pas utiliser leur rotation propriété pour quoi que ce soit. Au lieu de cela, ils utilisent light.target, qui est un Object3D.

Three.js R.68

Questions connexes