PDA

Voir la version complète : affectation de tag



tcamprubi
16/01/2004, 20h23
Une question pas facile je pense...
Est t'il possible d'affecter un tag à un objet via Xpresso (en l'occurence, il s'agirait d'un tag de rendu sketch). Si oui, comment fait t'on et où doit se trouver ce tag (doit t'il forcement exister dans l'arboresence des objets?)
Merci!!

tabou
16/01/2004, 20h30
Tu veux dire créer un tag de toute pièce ou modifier un tag existant ?
Malheureusement XPresso est incapable de créer quoi que ce soit de toute pièce, il ne peut que modifier des objets ou propriétés déjà présents dans le document.
Une solution possible consisterait à affecter manuellement le tag à un objet neutre puis à le réaffecter au moment voulu à l'objet par un XPresso.

Floby
16/01/2004, 20h45
ah oui embêtant!!!

il faudrait vraiment remettre a jour cette SDK coffee!!! enfin Xpresso c'est une pure merveille!

Tengaal
16/01/2004, 20h46
Le langage COFFEE peut générer les objets, et j'avais testé ça dans le cas du noeud COFFEE et ça fonctionne également.

tcamprubi
16/01/2004, 21h17
et quelle est la procédure pour réaffecter un tag? parce que ca pourrait convenir...

Tengaal
16/01/2004, 22h11
Au niveau du code c'est par exemple:

var doc=GetActiveDocument(); //accès à la scène actuelle
if(FindObject("Mon Objet")) return; //si l'objet existe déjà on sort du programme sinon ça produit des objets en permanence !

var objet=new(NullObject); // on génère un objet Neutre
objet->SetName("Mon Objet"); // on lui donne un nom
var tag=new(PhongTag); // on génère par exemple un tag de lissage
objet->InsertTag(tag,NULL); // on l'ajoute à notre objet neutre

doc->InsertObject(objet,NULL,NULL); // on insère l'objet avec son tag dans la scène

doc->Message(MSG_UPDATE); // pour rafraichir les changements du document


tous les types de tags sont mentionnés dans la doc COFFEE...

tabou
17/01/2004, 01h03
Avec XPresso c'est le même principe que pour le changement de textures (http://www.frenchcinema4d.com/phpBB2/viewtopic.php?p=77275#77275) sauf que tu ajoutes un noeud condition en réglant son type de données sur "lien", ça te permet de faire une bascule entre deux objets, et tu relies la sortie de la condition à l'entrée objet de la propriété et voilà :D

tcamprubi
17/01/2004, 11h09
je suis d'accord tabou, mais le noeud "Tag" (propriété) semble servir à localiser un tag précis d'un objet. il est capable de localiser un tag et de le sortir par son port sortie. mais comment diable l'affecte t'on à un autre objet ?? il faudrait pour celà que l'objet dispose d'un port tag en entrée non ?

tabou
17/01/2004, 13h01
J'ai trouvé une autre solution, plus simple qui consiste à mettre le tag "style d'esquisse" sur le cube puis à l'activer ou le désactiver. J'ai ajouté une DU case à cocher pour le style, puis un second noeud propriété avec le type réglé sur "Style d'esquisse" et enfin j'ai fait glisser le tag attribué au cube dans la fenêtre XPresso. Attention, il ne faut pas utiliser l'entrée Activé (ça ne marche pas) mais bien l'entrée Généralités/Activer.
http://tabou.free.fr/tabou/XPresso/XP_tag.gif
le fichier : XP_tag.c4d (http://tabou.free.fr/tabou/XPresso/XP_tag.c4d)

tcamprubi
19/01/2004, 12h47
Ok, j'ai pu faire un dérivé de ce que je voulais initialement, grâce aux compétences et à l'ingéniosité de Tengaal et Tabou. Merci encore :wink: