Point de SpotLight dans la même direction que la caméra three.js (Lampe de poche)
Je suis vraiment nouveau dans ce genre de choses. Je veux faire une simple scène 3D, où je peux voler avec PointerLockControls, mais je veux aussi avoir une sorte de lampe de poche. Sorte de lumière de tache de devrait point la même direction que la caméra ne.
J'ai fait spotlight pour suivre la caméra, mais sa cible est lié à 0,0,0.
Quelle est la meilleure façon d'atteindre cet objectif?
Merci.
OriginalL'auteur Pavel Galaton | 2013-05-09
Vous devez vous connecter pour publier un commentaire.
La
SpotLight
cible est unObject3D
, pas unVector3
.La meilleure solution dans votre cas est d'utiliser un
PointLight
au lieu de cela, et d'utiliser ce modèle:Si vous souhaitez utiliser un projecteur, puis faire quelque chose comme ceci:
Il n'est généralement pas nécessaire que l'appareil photo soit ajouté en tant qu'enfant de la scène, mais il est nécessaire dans ce cas parce que la lumière est ajouté en tant qu'enfant de la caméra.
three.js r.69
Vrai, pointLights ne prennent pas en charge les ombres. Mais si la lumière est situé à l'endroit où l'appareil photo est, vous ne pouvez pas voir les ombres de toute façon, étant donné que les objets de coulée de l'ombre sont dans le chemin.
Ok, peut-être un mauvais exemple: j'ai besoin de deux parts à la scène synchronisés par node.js en tant que serveur , (multijoueur) et je veux avoir de la lumière du flash dans chaque unité, pointant en direction définie. quelle est la meilleure façon de sendting ces infos par le socket? (au fait, où est le bouton accepter?:))
Vous avez besoin de faire un nouveau post -- et inclure des balises appropriées.
OriginalL'auteur WestLangley
J'ai eu le même problème que j'ai résolu comme suit:
Depuis un SpotLight .la cible doit être un objet (et non pas un poste), j'ai trouvé la tête de plus facile il suffit de placer la lampe de poche directement derrière l'appareil photo, et puis le but à la caméra. Ainsi, la lumière brille à travers la caméra et les lumières les choses en face.
Cette approche est très bien si vous êtes après un effet de lampe-torche où la lampe de poche est proche de la poitrine (centre pour le corps) et non pas sur un côté.
OriginalL'auteur Tim
Inspiré par WestLangley la solution ci-dessus, j'ai trouvé que feu des projecteurs.cible et spotlight lui-même peut être ajouté que les enfants d'un même objet, qu'il s'agisse de l'appareil photo ou d'un autre objet, comme une voiture ou d'un pistolet. Ensuite, ils sont positionnées l'une par rapport à l'objet parent, de sorte qu'il n'est pas nécessaire de conserver la copie de la position d'un objet à un autre.
Vous pourriez, par exemple, faire quelque chose comme ceci:
Et maintenant, l'arme est, par défaut, suivez la caméra et le projecteur s'allume, le long de l'arme à feu. Si le pistolet est pour une raison rotation (dévier une balle ou rampant sur le sol ou quoi que ce soit), les feux de la rampe va tourner trop. TROIS est un beau morceau de logiciel. 🙂
Si vous connectez le projecteur à l'appareil photo et de le pointer dans la même direction que l'appareil photo et de ne pas la position de l'écart du centre, puis le cône de lumière va chercher constamment à la circulaire. Pour de nombreuses applications, il semble plus frais et plus réaliste qu'il change de forme de façon dynamique dans la projection. Un petit décalage est tout ce qu'il faut (comme dans mon exemple ci-dessus, bien que je n'ai pas testé celle-là).
OriginalL'auteur Elias Hasle