Bonjour,
Voila, je galère depuis plusieurs heures sur un truc sous Xpresso...
Je voudrais faire en sorte que les proportions X/Y d'un plan (primitives) s'adapte automatiquement aux proportions de la texture qui lui est affecté... (je dois fabriquer une galerie d'expo avec pleins de tableaux de proportions différentes)
Bien que ça semble simple en théorie, il semblerait que ce soit relativement complexe à fabriquer sous Xpresso...
j'ai réussi à faire en sorte de modifier les proportions du plan à partir des proportions d'une images via le module expresso "image bitmap"... par contre j'arrive pas à trouver comment indiquer automatiquement au module "image bitmap" le nom de fichier correspondant par exemple au canal de couleur de la texture affectée à mon plan...
Euh... sais pas si je suis clair la...
En gros, il faudrait que chaque fois que j'affecte une texture à un objet plan, celui-ci s'ajuste automatiquement aux proportions X/Y de la texture qui lui est affectée...
Bref, si quelqu'un connait un truc pour faire ça, ce serait super...
Merci
Yann, Xpressé...
Ça parait simple mais je pense pas que ce soit possible :coup:
Visitez www.base80.com et www.youtube.com/base80
ouep le noeud bitmap ne permet pas de lier avec un objet dans la scene .. obligé de donner un lien exploreur .. :?
peut-être Majoul ou Papas pourraient t'aider là ?
Gasp...
Je comprends mieux pourquoi je galère...*
Bon, ci-joint un lien vers une expression que j'ai réalisé qui résoud en partie le problème via des DU, ça marche pas mal, mais c'est pas très pratique...
mais bon, c'est une piste pour avancer...
http://www.yannminh.com/ftpyann/EcranHomothetiqueC.zip
Merci pour vos réponses...
Yann, homothétiste
salut yminh
essaye un truc enregistre la selection du polygone ( 1 seul polygone si possible ) qui doit recevoir le tableau et applique la texture à cette selection
et normalement ta photo doit epouser la forme
paspas
(suis pas chez moi ==> je sais pas tester , je dit ca de memoire )
hmm Papas , je crois que son problême c'est qu'il veut que ce soit le plan qui s'adapte aux cotes de l'images et non l'inverse :wink:et normalement ta photo doit epouser la forme
et donc peut-être qu'en coffée , tu as moyen de relier tout ça ? car en expresso ( on peut avoir les infos de dimensions d'une image , mais cette image on est obligé d'aller la chercher via un explorateur .. :cry: .. et c'est ça qui pose problême à ce que j'ai compris .. )
Salut Yann,
J'ai fait quelques essais mais, comme l'a dit kiteman, il n'y a pas moyen d'automatiser à 100%, il faut modifier le lien du nœud bitmap dans XPresso à chaque nouvelle copie :?
Bonjour,
et merci pour vos réponses, et expérimentations...
Effectivement PasPas, comme le dit Kiteman je voudrais qu'automatiquement le plan épouse homothétiquement les proportions de ma texture...
c'est juste histoire d'optimiser les flux de production et gagner du temps, car je dois fabriquer une scène avec des centaines de tableaux... et pour l'instant, j'ajuste les plans aux proportions de la texture qui est plaquée dessus, en informant les attributs X/Y de mon plan avec la longueur et largeur de ma texture que je trouve en ouvrant l'éditeur de matériaux pour y lire ses proportions, puis je réajuste homothetiquement l'échelle de mon plan à mon décors manuellement ... ce qui est relativement laborieux... et long lorsqu'on fait cette opération des centaines de fois...
Si je pouvais simplement poser une texture sur mon objet plan, et que celui-ci prenne aussitôt les bonnes proportions ce serait super bien...
En fait, à y réfléchir, ce qui serait encore mieux, ce serait de pouvoir, en drag&drop, poser directement une matière bitmap depuis la médiathèque sur un objet sélectionné dans le gestionnaire d'objet, et que cela fabrique aussitôt un objet plan aux proportions de ce fichier bitmap et positionné aux coordonnées de l'objet ainsi sélectionné. Objet plan auquel serait affectée une texture créée simultanément et ayant le nom par défaut du fichier bitmap ... oui je sais... je rêve... :-)
Yann, Rêveur... ;-)
Ceci dit, je rêve pas beaucoup...
déja, si on pose un fichier bitmap sélectionné depuis la mediatheque directement sur un objet dans le gestionnaire d'objet, cela importe le fichier bitmap dans le dossier tex du projet, cela affecte une nouvelle texture à l'objet sélectionné et cela créé une nouvelle texture... Il faudrait juste que l'objet sélectionné s'ajuste automatiquement aux proportions de la texture pour que ce soit parfait...
Yann, NooThétiseur...* *:-)
re salut
j ai peut etre un debut de solution* dans les splines il y* *"vectorisation "*
http://www.deltazone.org/~fc4d/c4d/paspas_Tableau.c4d
tu clique sur l expresso
tu rentre une photo
tu rentre la largeur* *
et il te calcule la hauteur*
ici ca dimentione un plan* *
malheureusement j ai bien peur que ca ne demande pas mal de ressource* :cry2: :cry2:
paspas
Super...
merci, je teste... :-)
Yann, NooTesteur...
Hello...
Y a un truc bizarre... c'est que ça redimentionne pas le plan...
il reste collé à zero en hauteur chez moi... ?
Yann, collé...
salut
tien bizzarre :coup: je le telecharge et j verifie chez moi ce soir
pour voir si les connections de l xpresso n' on pas bouge ???
voila l explication si tu est pressé
c est pas compliquer a refaire
tu prent la spline vectorisation c est la pline ou on voit un cercle avec la partie inferieure en noir degrade
tu plance une photo a l endroit pevue a cette effet dans ses donnée il te donne une pline qui doit etre proportionnnel a ta photo
(la largeur doit etre rentre dans les données de la spline vectorisation )
(dans les donnes il y en a une qui decide le degre de detail pas la peine de choisir bcp de detail vus que c est le contour rectangle qui nous interesse )
si tu place cette spline dans xpresso et que tu la connecte au noeud " spline " tu doit pouvoir sortir la longeur total de la spline vectorisation
un rapide calcul ( longuer total - 2X largeur )/2 et tu a la hauteur
tout ce que j ai fai c est connecter ces valeurs a mon plan
et j ai mis une donnee personnelle texture a l expresso pour la photo
paspas
Voici un petit Xpresso qui ajuste les dimensions d'un plan à celles d'une image bitmap.
Je suis nul en Xpresso et ça ne fonctionne qu'avec un seul plan et une seule texture (dont on change le bitmap), peut-être un piste pour les pros de la programmation ?
Pour changer la texture se mettre en mode "matière bitmap" pour charger un nouveau fichier.
http://blanchard3d.free.fr/c4d/dim.zip>
Tu met ce code dans une xpresssion coffee en tant que propriété d'un objet plan.
C'est trés rapide a coder avec les opérateurs (drag & drop)* :poucehaut:
tu peut switcher entre largeur et hauteur en modifiant la variable Mode.
Code:var Mode = 1 ; // 0 : largeur* * 1 : hauteur GetRap(file, mode) { var bm = new(BaseBitmap, 1, 1) ; if( bm->Load(file) ) * { * * var l = bm->GetWidth()* ; if(!l) return 0 ; * * var h = bm->GetHeight() ; if(!h) return 0 ; * * switch(mode) * * *{ * * * *case 0 : return float(h)/float(l) ; break ; * * * *case 1 : return float(l)/float(h) ; break ; * * *} * *} return 0 ; } GetMat(op) { if(!op) return NULL ; var tag ; for(tag=op->GetFirstTag(); tag; tag=tag->GetNext()) * * if( tag->GetType()==Ttexture)* return tag#TEXTURETAG_MATERIAL ; return NULL ; } GetRapBitmap(mat, mode) { * if(!mat) return 0 ; * var btm = mat#MATERIAL_COLOR_SHADER; * if(btm && btm->GetType()==Xbitmap) * *{ * * *var file = btm#BITMAPSHADER_FILENAME ; if(!file) return 0 ; * * *return GetRap(file, mode) ; * *} * return 0 ; } main(doc,op) { * if(op->GetType()!=Oplane) return ; * var Rap = GetRapBitmap(GetMat(op), Mode) ; * if(Rap) * *{ * * switch(Mode) * * *{ * * * *case 0 : op#PRIM_PLANE_HEIGHT = Rap*op#PRIM_PLANE_WIDTH* ; break ; * * * *case 1 : op#PRIM_PLANE_WIDTH* = Rap*op#PRIM_PLANE_HEIGHT ; break ; * * *} * *} }
Terrible ! Celui-là je me le mets de côté. Merci Monsieur Majooul.
Genial,
un grand merci!!!
je vais de ce pas tester la chose... :-)
Yann, content
MAJOUL,
Juste pour dire que c'est génial ce truc.
Déjà que je galère un peu avec Xpresso, je vais voir ce qui est possible avec COFFEE.
Juste une remarque : j'ai vu sur 3Dattack des petits concours COFFEE, genre comment faire ci ou ça, et en même temps ça servait de tutos progressifs, genre devoirs à la maison. Ca me parraissait pas mal pour apprendre. Bref, si l'idée pouvait être reprise ici (loin de moi par contre l'idée de pouvoir animer ce genre de thread), je pense qu'il y aurait pas mal de gens intéressés.
Salvador
Excellent! :bounce:
Th. still alive
:cry2: :cry2: j ai l air con moi avec mon xpresso
:poucehaut: comme d hab :poucehaut:
ps toi aussi majoul ta commencer petit ! vais mameliorer :arg:
paspas
Bonjour à tous,
Je n'interviens pas souvent mais je vous suis en silence.
Là je ne peux pas m'empêcher de sortir de ma réserve... :bounce:
Ce truc est tout bonnement génial ! J'en rêvais et MAJOUL l'a fait ! :poucehaut: :poucehaut:
Merci beaucoup !
Thierry
"One cross each." (Monty Python, The life of Brian)
C4D 21 - Octane C4D plug - 3 x GTX980, 2 x RTX2070 - Intel i7 6850
Bonjour,
bon, beennn comme d'hab j'ai du mal avec tout ce qui est programmation... je suis désolé,
vous êtes familiarisés avec ça, mais pour le novice comme moi, c'est moins évident ... je suis du niveau bac à sable la dessus...
Je viens de passer une heure à essayer de comprendre, mais je ne trouve pas, ne serait-ce que la procédure à appliquer ...:coup:
Voila, dans le gestionnaire d'objet,* j'ai créé un Tag Coffee que j'ai affecté à mon objet plan, et j'y ai collé le programme, mais après compilation, C4d me demande d'informer une variable "load" en début de programme... et je sais pas comment l'informer :cry2: ,
j'ai bien essayé des drag & drop de ma texture sur le texte coffee, mais ça marche pas...* du coup, je me suis dit qu'il devait s'agir d'une Xpression Coffee dans un tag Xpresso associé à mon objet plan...
mais la, le problème c'est que je ne trouve pas comment faire ce que tu m'expliques* :
Je ne trouve pas dans Xpresso de lien "propriété"... ou plutôt, y 'en a pleins de différentes avec des noms différents...Envoyé par MAJOUL
Bref... je suis désolé d'être aussi nul... et je le regrette, car j'aimerais vraiment pouvoir me servir de cette expression... :cry2:
Yann, NooNul
Tu ajoutes juste un tag coffee, et tu fais un copier-coller du texte de majoul, en virant le texte par défaut du tag. C'est tout.
Par contre, il se peut que ça ne fonctionne pas du premier coup, mais le fait de changer de texture le débloquera.
pas réussi non plus... :oops: :oops: :oops:
2x6coreXéon2.66(24T);64Gram; GTX 1080; OSX10.13.6 ////
Mac Studio 128 Ram ; OSX 12.3.1 ; papiercrayoncerveau;S22Studio;Redshift;Zbrush2022; CS2022
///SHTL 2011 DEMO HERE : http://demo.shtl.org/ /// NEW! 2014 WIP
Toi, c'est normal.
Chez moi ça marche à moitié, parfois oui... parfois non... :roll:
Ok...
c'est effectivement la procédure que j'avais appliqué au départ, mais comme ça marchait pas j'ai cherché d'autres directions...
bon, en tous cas, merci pour l'explication, mais chez moi... ça marche toujours pas...* :cry2:
ci-joint mon fichier au cas ou quelqu'un verrait une erreur de manip de ma part, si vous avez le temps... ?
http://www.yannminh.com/ftpyann/HomothetieMajoul.zip
Yann, qui marche pas...
PS: j'ai testé sur mon PC et sur mon Mac...
Apparemment ça fonctionne mieux avec du PSD que du JPG. Me trompé-je ?
J'ai essayé avec différents formats, ça ne change rien, d'ailleurs maintenant ça ne fonctionne plus du tout :shock:
C'est peut-être du code piégé.