2015-08-03 1 views
0

Comment trouver la valeur de rotation de la théière ainsi quand la nouvelle valeur de rotation est appliquée, la théière pointe vers la sphère (point3) dans l'espace local de la théière.Comment calculer la rotation de l'objet pour pointer vers le point3

Voici ce que la scène de départ ressemble à: enter image description here

C'est le but que je suis en train de réaliser: enter image description here

première tentative:

delete objects 
target = sphere pos:[20,20,20] radius:2 
n = teapot radius:2 pos:[6,35,0] 
rotate n (angleaxis -68.2351 [0.808965,0.587747,0.0113632]) 

dist = n.pos - target.pos 
vec = normalize dist 
upVecLocal = n.transform.row3 -- local up vector 
dp = dot vec upVecLocal 
t = acos dp 
newDir = cross upVecLocal dist 

n.dir = newDir 
toolMode.coordsys #local 
select n 

Répondre

0

Je ne sais pas ce que vous essayez d'atteindre, mais je pense que la meilleure solution est une non-scripting: Ajouter un regard sur la contrainte sur la théière:

  1. Sélectionnez le Teapot
  2. Aller à l'onglet Motion (la roue, 4e à gauche)
  3. Sélectionnez le bouton de rotation, puis cliquez sur le bouton ci-dessus l'arborescence qui comprend la transformation, la position, la rotation et échelle.
  4. Sélectionnez la sphère comme Look At Target

Maintenant, si vous déplacez la sphère, il tourne et suivre.