Aller au contenu
Atalow

Réferences externes

Recommended Posts

Bonjour à tous,


Je suis actuellement en charge d'un  projet où je dois animer un concept-car issu de fichiers CAO Catia : C'est très lourd. Le fichier fait plus de 1,5 go, et la ram monte parfois à 12go. Mes projets sont bien souvent de plus en plus comme ça et je cherche des solutions afin de pouvoir optimiser tout ça que ce soit en terme de performance que workflow.

Je me suis donc penché sur les outils proposés dans 3dsmax de base : Xref Objects, et Xref Scéne..... Suis-je le seul à trouver ça merdique ? 

Je m'explique : je cherche tout simplement à remplacer un objet simple, par un groupe d'objets complexes d'un autre fichier seulement au rendu (donc, qu'il charge QUE au rendu ! )

Alors, avec Xref Object, c'est cool, on peut "importer" un objet ou des objets externes (mais pas de remplacement) et CEUX là, on peut les remplacer par un autre fichier externe juste au rendu. 
Plusieurs problèmes selon moi : le fait que le premier objet soit "externe", c'est pas utile (vu qu'il est censé être léger, mais pourquoi pas.... ). Le fait que l'on puisse remplacer les objets Xref importés par seulement UN objet, et non un groupe d'objets (!?). Et le fait de gérer le paramètre de proxy se fasse objet par objet (pas possible dans le manager ) !!!!

Ensuite les Xref Scéne : On peut importer des scènes entières, choisir ou non de les afficher, et les lier à des objets (pour les manipuler).
Problème : On doit prendre TOUTE la scène (donc obliger de découper les scènes ) et le gros problème, c'est que 3dsmax charge TOUTES les Xref Scéne au démarrage de la scène et les affiche (même si le coche "visible" est décoché !!!!) Ce qui plombe la ram...

Donc voilà ma question : Connaissez-vous des solutions simples et efficaces afin de gérer les scènes lourdes ?

Merci à ceux qui auront eu le courage de tout lire, mais je voulais être précis.

Bonne journée.

Share this post


Link to post
Share on other sites

Salut,

 

j'ai tout lu!! :D

 

Premières questions (je pense que tu as certainement du déjà regarder de ce coté!), pourquoi le fichier Catia est il si lourd? Tu as toutes les pièces méca même celle dont tu n'as pas besoin? Donc peux tu avoir un mesh plus légé ou la possibilité de le convertir et l'alléger?

 

Ensuite, le Xref scéne n'est pas fais pour "remplacer" mais pour joindre des scénes ou objet se trouvant dans d'autre scéne (avec la gestion de calques). Et d'avoir la possibilité par exemple d'être à plusieur à travailler sur un projet et d'assembler l'ensemble du travail.

 

L'objet Xref est appriori l'outil mais l'objet externe est l'objet "principale" le fichier lourd que tu remplace (et pas l'inverse), je n'ai pas l'expérience de l'utilisation donc difficile de te dire pour ça. Le fait de le faire par objet et pas par groupe est certainement du à la gestion de l'animation.

 

Ensuite, tu as les proxies!! Mais à voir avec ton animation! C'est un véhicule qui doit rouler? donc animation de roue? Faire plusieur proxies

 

Tu as la possibilité de faire par exemple ton anim avec des objets simple, tu t'arrange pour avoir les pivots aux même position et ensuite tu animes uniquement tes objets simple (ou dummy). Ensuite tu attache avec ton mesh (tes objets tu les définis comme non renderable) Tu as le modificatuer "substitute" aussi.

 

Bon tout ça c'est vite dit je n'ai pas le modèle et ne connais pas l'animation à faire si elle est complexe ou pas

Share this post


Link to post
Share on other sites

Merci de ta reponse. 

Alors ma demande est plus d'ordre général (si ça peut aider d'autre personnes que moi également... ). Mais dans mon cas, oui, j'ai quasiment toutes les pièces et faut que je les gardes (j'ai 500 fichiers à importé et optimiser ). J'ai déjà optimiser toute les pièces une par une à l'import (conversion BodyObject to Poly )

Merci pour l'astuce du modificateur "substitute", je pense que cela va m'aider pour pas mal de chose. Mais cependant, on ne peut pas remplacer Un objet par un GROUPE ! =/

 

Et justement pour l'animation, je fait des groupes cinématique. Car beaucoup de pièce bouge ensemble (ex : toutes la carrosserie de la voiture ).

Qu'entend tu par "proxies" ? Juste le fait de "masqué" un objet au rendu par un autre ? Ou parle tu d'une option/outil particulier dans 3dsmax ?
Je veux vraiment "déporté" mes pièces dans un autre fichier, car là, même en cachant TOUTES les pièces (donc, je n'affiche QUE la grille standard Max ) je tourne à 5-7 fps sur une Quadro 4000. (Alors que si j'affiche une scène hyper simple je tourne à 400 fps ).


Pour info : c'est pas la première fois que j'anime des voitures complexes, et j'avais trouver un moyen (complexe...) pour le faire, j'explique en grande ligne :
- J'ai une scène où j'ai TOUTES la voitures en HD avec ces matériaux.
- Dans différente scène j'importe des groupe d'objet grâce au Xrefs scène (autant de scène que de groupe cinématique), globalement je découpe ma voiture.
- Ensuite, j'ai fait une version LowPoly de ma voiture, avec UNE pièces pour chaque objets (placer EXACTEMENT au même endroit que dans la scène mére), et que je cache au rendu.
- et Enfin, j'importe chaque scènes qui contient les différentes partie de ma voiture grâce aux Xref Scène, en attachant chaque scène (Bind ) a la pièces correspondante. Sans oubliez de décocher le coche "visible" dans les paramètres de XrefScéne.

C'est la meilleur méthode que j'ai trouvé jusque là, et j'explique pourquoi :
- Si je change un matériaux de ma scéne Mére, gràce aux Xref, ils change dans ma scène d'animation final. 
- je peux rajouter/enlever/modifier mes groupes cinématiques.
- Quand les Xref Scène son cacher, ils ne sont pas du tout calculer a l'affichage, donc un bon FPS pour envisager de l'animation.

Problème de ma méthode :
- Au démarrage de ma scéne d'anime, TOUTES les XrefScéne, s''AFFICHE (même si le bouton "visible" est décocher, il faut le cocher, et le re-décocher ! ) et se charge dans la RAM !
Se qui fait que la scène met beaucoup de temps à ce lancer... mais après... c'est bon.

Cette méthode marche.. mais j'aimerais bien quelque chose de plus "simple", si ça existe.... ! 

 

Share this post


Link to post
Share on other sites

Re,

 

Quand je parle de proxies c'est avec Vray ou Mentalray

ta méthode me paraît être la bonne. Le truc c'est effectivement le nombre de fichier!

 

Ensuite pour le Xref visible regarde en décochant "enable" dans le panneau Xref scenes au dessus de display option tu as Xref enbled et overlay

 

Tu désactive et tu sauvegardes et à la prochaine ouverture il ne le charge pas

Share this post


Link to post
Share on other sites

Oui c'est exacte. Mais quand je fait le rendu, du coup il s'affiche pas non plus.... (ce qui est logique ^^ )

D'ailleurs, a quoi sert l'option "Overlay" ? je n'ai pas trouvé...


Pour l'instant, j'ai pas mieux que ma méthode... mais je trouve ça incroyablement complexe pour si peu au final (et en plus, c'est perfectible !!! ). Je me dit que dans les studios de production, ils doivent avoir des outils pour faire ça mieux tout de même.

Share this post


Link to post
Share on other sites

Oui il doit y avoir des outils (regarde sur http://www.scriptspot.com/)

Ou des machine survitaminée :D avec un travaille d'équipe pour optimiser les poly et les séquence de l'anim

 

--> ovelay /incrustation (pour ceux qui chercheraient)

http://docs.autodesk.com/3DSMAX/15/FRA/3ds-Max-Help/index.html?url=files/GUID-8BE2F353-BCBA-4066-8BBA-49A04871D35C.htm,topicNumber=d30e415671

Share this post


Link to post
Share on other sites

J'ai chercher sur Scriptspot evidemment ^^

ça je n'en doute pas qu'il doivent avoir des bonne machine, même si les miennes tourne pas mal quand même. 

Je continue mes recherches ;)  j'actualiserais ce post si je trouve...  !

Share this post


Link to post
Share on other sites

Là, la plupart des pieces je les convertit en poly basse def (mais certain atteint des quantités enorme ), et d'autre que je laisse en BodyObjects (comme la carrosserie) pour assuré des reflet parfait au rendu. (méthode utilisé sur mon concept-car Everia présent dans ma galerie )

Share this post


Link to post
Share on other sites

Ben le truc c'est que 3dsmax est super mal optimiser pour les Body Object ( fonction récente de 3dsMax, que depuis la version 2012 si je ne m'abuse), j'explique :
- Il ram plus à afficher 1000 polygones issue d'un BodyObject que 1 million issus d'un object Editable Poly

Donc bien évidemment toute mes surfaces sont en coarses, mais l'affichage est très très lent. C'est pour ça que tout les objets qui ont pas besoin de reflet détaillé je les convertis en Poly, ça va carrément plus vite à l'affichage.

Mais niveau optimisation (selon moi bien sur ^^ ) je peux pas faire mieux au niveau de ma scène. 

Share this post


Link to post
Share on other sites

Oui nurbs, c'est un peu pareil que BodyObjects... mais c'est different ^^ 

Et oui, les containers, je me suis penché dessus aussi... ben pareil.. j'ai arrété... c'est lourd ! et bien compliqué a metre en place !

Share this post


Link to post
Share on other sites

Aprés quelque jour de test, ce qui me semble le mieux adapter a mon workflow, et donc se que j'ai choisit, ce sont les Vray Proxies ! J'utilise aussi des Xref, mais pour les objects principaux lourd (Roues, carrosserie, intérieur... ) les VrayProxies sont vraiment top pour ça !! Une scène légère et un rendu rapide !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement

  • Who's Online   0 Members, 0 Anonymous, 167 Guests (See full list)

    There are no registered users currently online

×
×
  • Créer...