PDA

Voir la version complète : randomizer texture animée dans redshift



giloo
27/05/2018, 12h14
bonjour tout le monde ,
je suis entrain de me créer de petits éléments graphiques pour un projet , je voulais notamment avoir de petit paragraphes animés type données à pouvoir placer par ci par là.

j'ai donc animé mes différents textes avec un plain effector, puis, pour randomiser l'animation j'ai placé le tout dans un cloner. Malheureusement ça ralenti énooooormément ma scène (viewport + temps de préparation au rendu qui exposent) et ce même si je n'ai qu'un seul clone.
Dans mon projet je comptais mettre ces textes un peu partout donc potentiellement plusieurs dizaines de copies.

Je pense me résigner à exporter mes anims de textes sous forme de séquence d'images , mais peut-être que quelqu'un à une autre solution :icon_wavey:

petite capture d'écran
21745

giloo
27/05/2018, 16h39
bon après quelques essais , la solution d'exporter une texture animée semble la plus simple

giloo
28/05/2018, 15h02
en fait ça ne marche pas tout à fait comme je voulais
j'ai donc réussi à randomiser la lecture de ma texture selon ce principe :

https://vimeo.com/21302433

ça marche parfaitement bien avec les shaders C4D, mais le problème c'est que pour mon projet je rends dans redshift, là ça se corse , j'ai essayé de transférer le principe en intégrant le multi shader dans un matériaux redshift avec un node C4D mais je n'arrive pas à le faire fonctionner.

en fait ma nouvelle question , comment randomiser une texture vidéo dans un cloner en rendant dans redshift

valkaari
29/05/2018, 00h52
Je comprends pas trop ta hiérarchie.

Tu devrais avoir chaque motext avec chaque plain effecteur dans un neutre et tous les neutre dans le cloneur. J'imagines que le but c'est de faire plus "remplie" avec seulement quelques animations de base.

Après tout dépends des animations que tu veux faire pour les différents text.

C'est pas hyper clair ce que tu veux faire.

t'as peut être pas d'intérêt à le faire en 3D aussi.

Floc
29/05/2018, 00h56
Il faut utiliser les userdatas. Je te joins deux petits exemple d'utilisation de redshift avec mograph.
Un premier basic et un deuxième plus proche de ce que tu veux faire, créé spécialement pour toi par panos Zompola !

giloo
29/05/2018, 12h40
@valkaari:
en fait chaque plain est animé de manière à faire apparaitre et disparaitre successivement le texte correspondant.
le random effector randomize l'animation pour chaque clone de cette anim

c'est assez lourd et freeze totalement mon ordi je pense notamment à cause du nombre de caractères de chaque texte (petit paragraphe) et aussi , le fait de mettre du motext dans un cloner ne semble pas être super optimisé.
donc j'ai rendu cette anim pour l'utiliser comme texture , mais je n'arrive pas à la randomiser correctement avec redshift

@Floc:
merci pour tes lumières :thumbup1: , oui la solution avec le shader switch est celle à laquelle je suis parvenu hier finalement.
ça fait le job partiellement mais malheureusement lorsque deux clones on le même shader d'assigné il rebouclent sur les mêmes frames et la répétition se fait cruellement ressentir.

J'avais tenté avec un scalar user data au lieu d'un integer user data , ce qui me permet de switcher les clones avec le weight transform d'un random effector (que je peux animer) ça se rapproche encore un peu mais le problème reste le même , les shader étant synchronisés , deux clones avec le même shader vont forcément reboucler en même temps.

bref le multi shader permettait en outre de désynchroniser des clones ayant le même shader ce qui les rendait chacun vraiment unique , mais à priori celui-ci ne fonctionne pas dans redshift c'est bien dommage


en tout cas merci pour vos messages les gars :thumbup1:

Floc
29/05/2018, 18h17
Normalement avec l'attribut RSGeomIDNorm tu recupere un ID aleatoire pour chaque clone.
Tu devrait pouvoir utiliser ca pour faire varier la premeiere frame de ta sequence en fonction de chaque clone.

giloo
29/05/2018, 19h10
oui j'ai imaginé faire un truc dans le genre avec le node integer user data / objectID que je voulais ensuite lier d'une manière ou d'une autre aux start frame et end frame de l'animation de la texture.
Mais je ne vois pas comment importer ces paramètres (start frame/end frame) dans le shader graph :icon_pleure:

Floc
29/05/2018, 20h19
Effectivement ca n'as pas l'air flag. A part dupliquer ta sequence est en faire des variation, je vois pas trop. Mais c'est un peu bourrin et chronophage comme methode.
Le mieux est de poser la question sur le forum.

giloo
29/05/2018, 20h27
oui je suis allé voir sur le forum redshift, apparemment je ne suis pas le seul à vouloir faire ça
peut-être aurons nous cette option dans une prochaine mise à jour !

finalement je me suis débrouillé en laissant des frames noir au début (plus ou moins pour avoir un décallage) , j'ai créé une dizaine de boucle de différentes durées et j'ai 3 planes différents (plus ou moins hauts avec des offset d'UV)
j'ai un random effector qui switch de shader et un deuxième qui switch entre les différentes tailles de planes

c'est pas le top mais dans mon cas ça fait la blague