PDA

Voir la version complète : Résolu Image fixe sur objet hair dynamique



geantvert
04/04/2013, 17h30
Et pouet coin :)

Je rencontre un mur assez épais qui ne brise pas malgré la force avec laquelle je me jette dessus :icon_banghead:
Je voudrais reproduire un module typé Soto:


7589


Je me suis donc dirigé vers hair étant donné que le tout devra être animé pour montrer le principe de pénétration dans le module.
Bien sur, une image dans le canal couleur racine et/ou pointe de la texture hair n'est justement prise en compte que par les racines ou les pointes. Or ici je veux une image sur chaque coté.
Sur les conseils d'Ogier (merci gamin ;) ) j'ai donc généré mes cheveux en poly (plan) afin d'assigner une texture "normale" à l'objet hair. Ceci fonctionne très bien. Là ou je bute, c'est sur l'animation. Une fois animé mes cheveux, la texture ne suit pas, elle reste en place quelque soit le mode de projection: cubique etc et même cam map avec un tag fix texture.

Je me tourne donc vers vous, amis du poil dans tous ses états. Vous seriez vous penché sur ce genre de chose par hasard?

Merci de vos retours et aide :)

Floc
05/04/2013, 00h42
Salut
La question m'intéresse car j'ai eu la même problématique il n'y a pas très longtemps. Malheureusement je n 'ai pas trouvé la solution et comme je ne suis pas un expert de C4D, ça c'est fini dans un autre soft. Mais la façon dont ça s'est résolu c'est en convertissant le hair en polygones et en regénerant des uv pour l'objet obtenu. Ce qui est diffèrent de générer les poly avec le hair,de C4D car du coup l'objet reste finalement un "hair" et on ne peut générer les uvs et c'est le problème car en projection cubique ou autre les uv sont généré à la volée et ne suivent donc pas l'animation. Je me suis dis qu'en bakant le hair y aurai moyen mais après recherche je n'ai pas trouvé comment faire. J'avais vu aussi une solution qui "aurai" consisté a généré un mesh (ctl-C mais donc statique) et ensuite le connecter avec l'objet connect au polys générés par le hair mais ca n'as pas fonctionné non plus. J'ai aussi essayé des spline plutôt que des polys et de glisser le hair dans un sweepnurbs, l'idée etant toujours d'obtenir un objet sur lequel on puisse générer les uv, mais encore une fois chou-blanc.
Mais comme je l'ai dis plus haut, je ne suis pas un expert (je n'utilise C4D que depuis 8 mois).
Je sais pas si j'ai été bien clair, mais en tous cas, ça te donnera peut être une piste ou une idée pour résoudre le problème.

geantvert
05/04/2013, 10h17
Merci de ta réponse mais effectivement tout le problème réside dans le fait que je doive animer tout ça.
J'ai bien essayé avec des splines dynamiques clonées. Malheureusement, le cloneur ne distingue pas chaque objet comme avec les dynamiques de corps rigide ou souple.

Le problème reste donc entier :icon_grin:

Floc
05/04/2013, 20h04
Le truc c'est que le cloneur ne peut servir qu'a multiplier les "cordes", que ce soit des splines ou des bandes de polys, puisqu'il faudra nécessairement "ecraser" le groupe afin de générer les uv. Ceci dit j'ai quand même trouvé une méthode qui fonctionne, mais qui risque d'être un peu lourde vu le nombre de cordes que tu dois afficher.
Generer la grille de spline avec le cloneur, avec cette grille et un sweepnurb generer les cordes.
Connecter tous les objets, appliquer un tag uv, choisir la projection qui va bien et generer les uv
Dupliquer la grille de spline
Ensuite appliquer un deformeur spline et utiser la grille de splines statique comme splines originale et la seconde grille de splines comme spline modifieuse.
Ca fonctionne, mais point cache obligatoire car autant dire que ca plombe vraiment. :icon_confused:





Ca serait peut etre plus efficace avec des cloths. En meme temps la dynamique des spline est assez "legere",et en desactivant le defomer, permet de travailler pratiquement en temps réel.

Fluffy
05/04/2013, 20h14
Peut-être utiliser Hair pour ne gérer que les dynamiques d'un sweep NURBS, et ensuite appliquer la texture à ce NURBS?
Le stick texture tag devrait fonctionner, là.

Fluffy
05/04/2013, 20h30
Mmm. non, cela ne fonctionne pas, seul le mode UVW permet de coller la texture à un NURBS.
J'ai testé avec Cloth, mais le problême est que l'on perd la rigidité des cordes, et qu'elle s'écrasent donc (ce qui n'est pas forcément un problême si les cordes sont fines).
Je continue à creuser.

Fluffy
05/04/2013, 20h38
C'est bon, j'ai trouvé la solution:
- génère tes rangées de splines via Mograph
- édite le tout, fusionne et colle les dans un sweep NURBS
- ajoûte un tag Spline dynamics sur tes splines fusionnées, en fixant les points appropriés
- anime ta collision
- exporte en Alembic
- réimporte le fichier Alembic et applique ta texture sur cet objet, avec un Stick texture tag

Fichiers exemple fournis.

Ogier
07/04/2013, 07h27
Nom de nom ! Si c'est pas une soluce de pervers ça !

Pas trop le temps de tester ça là, mais je reviendrai dessus dans la semaine :)

PS : bien le bonjour à tous au passage!

geantvert
08/04/2013, 10h29
Et ben dis donc, comme tu dis Ogier. Tu viens de me fouetter avec des orties Fluff :biggrin:
Effectivement ça fonctionne, faut être sur de son anim et hop. Ça reste un peu lourd face à hair mais ça fonctionne :)

Merci de vous être creusé la tête, vous m’ôtez une épine du pied ;)

joecare
28/12/2013, 20h05
Je me permet de rebondir, si ça peut servir a quelqu'un...
et clic droit propriete Cinema 4d>textures adaptatives...?

Fluffy
29/12/2013, 03h28
stick texture tag = texture adaptative. Méthode que j'avais essayé/mentionné plus haut et qui ne fonctionnait pas.

joecare
29/12/2013, 08h54
D'accord et merci...désolé je ne connais pas les menus anglais...
je prends donc bonne note de la ruse de sioux que tu decris plus haut...