PDA

Voir la version complète : Help ! Double orientation



Steph3D ::.
15/01/2004, 00h04
Je cherche à faire une orientation d'objet non pas vers une cible, mais 2 !

En gros je veux que mon objet pointe sur la cible A et que son vecteur X s'oriente toujours dû coter ou se trouve la cible B, en fesant donc une rotation de l'objet sur son axe Z

En gros, dans ma scene ci-jointe http://annur.free.fr/c4dfr/doublevector.zip la petite piramide devrait toujours pointer dû coter de la cible B au loin, même lorsque que la cible A passe au-dessus de l'objet, contrairement à ce que fait mon code actuel. Et là je ne vois pas comment gérer ça. :cry2:

Bon en plus clair et décodé :mrgreen: [ le vecteur Z pointe toujours vers le point A, alors que le vecteur X s'oriente au mieu vers le point B par rotation de l'axe Z ] :coup:

Voici mon code pour la brique Xpresso qui ne marche qu'à moitier car la 2e partie n'est pas bonne :oops: Mais bon il y a de l'idée :roll: :oops:


main()

{

var VectorObj = Viseur->GetMg()->GetV0();
var VectorA = CibleA->GetMg()->GetV0();
var VectorB = CibleB->GetMg()->GetV0();

// Orientation sur la cible A par l'axe X et Y

var MatriceA = new(Matrix);

MatriceA->SetV0(VectorObj);
MatriceA->SetV3(vnorm(VectorA - VectorObj));

var RotationA=MatriceA->GetHPB();


// Orientation sur la cible B de l'axe X par rotation sur l'axe Z

var MatriceB = new(Matrix);

MatriceB->SetV0(VectorObj);
MatriceB->SetV3(vnorm(VectorB - VectorObj));

var RotationB=MatriceB->GetHPB();

Rotation=RotationA;
Rotation.z=RotationB.x;
}

Aurety
15/01/2004, 00h12
Yasuhiro Nishi de Westyworld a développé un node XPresso pour pallier à ce problême... Peut-être que ça pourra-t'aider. Et puis l'occasion de télécharger plein de nouveau trucs terribles. Il est fort celui-là, à chaque fois que j'y vais y'a du nouveau. :o

C'est le "advancedtarget" node

http://www.linkclub.or.jp/~westy/tools/xpresso/xpresso_archives01.html

Steph3D ::.
15/01/2004, 00h36
Merci ! ça l'aire d'etre pile poil ça :o

Cela dit, si quelqu'un à une idée de comment calculé ça ? ça serait cool ! car son xpresso est protégé :|
Mais sa serai bien de comprendre le truc, histoire de voir si c'est adaptable à d'autres principe notament