Aller au contenu
Nicolas Caplat

Nettoyage scènes en batch

Recommended Posts

Hello,

 

Suite à une trouvaille de SandrineC hier, qui a ressorti un article de Matt sur l'optimisation de 3dsmax, j'ai fait rapidos un petit script pour exécuter la ligne de code en batch, sur tous les fichiers .max d'un dossier. Le poids des fichiers peut être réduit (selon les scènes), et surtout l'empreinte RAM, et çà joue aussi un peu sur le temps d'ouverture des scènes. Il faudrait peut-être qu'Autodesk se bouge un peu et résolve le problème: 3dsmax qui pourrit tout seul ses propres fichiers, c'est juste magnifique (ceux qui sont dans la beta pourraient attirer l'attention des devs sur ce souci ?)

 

thePath = getSavePath()
if thePath != undefined do
(
  theFiles = getFiles (thePath+"\\*.max")
  for f in theFiles do
  (
    loadMaxFile f quiet:on

t=trackviewnodes;n=t[#Max_MotionClip_Manager];deleteTrackViewController t n.controller;gc()

    saveMaxFile f
  )
  resetMaxFile #noPrompt
)
Je décline bien entendu toute responsabilité si ce petit bout de script détruit vos fichiers, formate vos disques durs, ruine votre couple, ou déclenche un dégâts des eaux chez vous :)
 
Bonne journée.

Share this post


Link to post
Share on other sites

Ah ben voilà... m'étonne pas que tu aies été promu "staff" 2 étoiles... pfffff

Bah non. C'est juste que j'avais reporté un spammeur et un de ses messages auprès de Matt, et il a jugé utile de me passer modé, pour que je puisse intervenir sans lui la prochaine fois qu'un guignol s'amuse à venir polluer les forums ;)

Share this post


Link to post
Share on other sites

Ah c'est juste pour ça ? Dans ce cas je vais demander à Matt qu'il te retire tes étoiles ;)

Modé, c'est juste pour çà. Pour les étoiles en revanche, aucune idée ... sans doute pour ma gentillesse, mon talent et ma patience avec des mecs comme vous !! en toute modestie, évidemment :D :D

Blague à part, aucune idée du pourquoi du comment ;)

Share this post


Link to post
Share on other sites

J'avais testé ce petit script, ça n'a jamais rien changer. Normalement, on lance le script, on sauve et pouf le fichier est sacrement allégé. C'est bien ça ?

Tout à fait. Dans notre cas, sur des projets régulièrement corrigés, les fichiers ont tendance à s'alourdir et ce, en dépit de notre façon de travailler qui est plutôt clean. Avec cette ligne de code, on a divisé le poids de certains fichiers par 4 en moyenne, voire davantage.

Mais attention, vu ce que fait ce code, une scène qui plantait ne sera pas pour autant plus stable qu'avant ;)

Share this post


Link to post
Share on other sites

Okok, mais même sur des scènes très lourdes ( 2, 3 Go) ça n'a jamais rien changé. Étrange.

 

Attends, tu as des scenes qui pèsent 2 à 3 Go Nicolas ? Tu fous toutes les collections evermotion dedans ou quoi ? :blink:  Perso je m'arrange toujours pour que mes scenes ne pèsent pas plus de 200 Mo (proxy, XRef ...) sinon, ça prend un temps dingue à charger et sauver (ok ma station de travail est plus toute jeune non plus^^)

Share this post


Link to post
Share on other sites

@NicolasC: si je regarde ton script, apparemment ça efface les "TrackViewnodes": c'est comparable à la fonction d'effacement des "Notetracks" du script Cleaner d'Andreas Meissner ou pas ? http://bit.ly/1VECPbq

Et est ce que ton script fait autre chose de plus (suis pas expert en maxscript) ?

Share this post


Link to post
Share on other sites

 

 

Et est ce que ton script fait autre chose de plus (suis pas expert en maxscript) ?

Bah franchement, je n'en sais pas beaucoup plus que toi ... les détails sont ici. Est-ce que ce sont les mêmes Notetracks nettoyées par Cleaner ... pas la moindre idée. Ce qui m'effraie un peu, c'est de voir comment 3dsmax finit par foutre une belle merde sur les fichiers. Je vais voir si je trouve des détails.

Share this post


Link to post
Share on other sites

Alors j'ai testé ton script sur une scene de 210 Mo avec pas mal de proxys et de textures, ça ne change absolument rien. Aucun allègement du poids du fichier et aucune accélération à l'ouverture de la scene non plus. Ce qui veut dire soit que ton script ne parvient pas à nettoyer ma scene, soit que ma scene est déjà clean à la base ...

Share this post


Link to post
Share on other sites

Hmmm intéressant çà.

Est-ce une scène récente ou une scène sur laquelle tu as régulièrement retravaillé, fait des corrections, de nouveaux rendus, et ainsi de suite ?

 

Deux précisions:

 

- le script fourni dans le post initial ne fait que fournir le traitement des fichiers .max en batch, en exécutant le code fourni dans l'article de Matt. Ce qui veut dire que si vous avez besoin d'effectuer d'autres opérations en batch sur vos fichiers, vous pouvez y placer votre code (à la place de la ligne commençant par t=trackviewnodes), pour resetter les subdivs des matériaux ou des lights dans vos XRefs ou dans les fichiers d'une librairie de modèles par exemple ;)

 

- le code fourni dans cet article vise à "nettoyer" les notes du Motion Clip Manager, réduisant ainsi l'empreinte RAM la scène une fois ouverte dans 3dsmax. Pas certain que l'impact sur le poids de fichier soit le même selon les scènes (j'ai corrigé mon post initial en ce sens, désolé pour les informations approximatives, je tatonne).

Share this post


Link to post
Share on other sites

Merci pour les précisions Nico

 

Est-ce une scène récente ou une scène sur laquelle tu as régulièrement retravaillé, fait des corrections, de nouveaux rendus, et ainsi de suite ?

 

 

C'est une scène que j'ai commencée il y a quelques semaines et elle s'est complexifiée quand je revenais dessus pour la compléter: modé en plus, ajouts de textures, de proxys etc ... ce n'est pas une scene que j'aurais commencée il y a 2 ans pour la retravailler récemment.

Share this post


Link to post
Share on other sites

Salut,

 

ce script sert au départ à diminuer la mémoire pas la taille du fichier, Metanamorphose avait donné cette solution parce qu'on bossait beaucoup avec des fichiers issus de Revit, ça fonctionne surtout sur les scène ou il y a eu des imports, d'objets mergés plus que sur des scène entièrement monté dans le fichier. Pour diminuer la taille des fichiers, il y a la solution : cocher l'option dans le menu ---> personaliser ---> préférences et ensuite l'onglet fichier --> comprimer à l'enregistrement!

 

Voici le lien vers le billet d'origine de ce script :

http://area.autodesk.com/blogs/maxstation/n49_overly_large_max_files_or_scenes_that_take_up_a_lot_of_memory

Share this post


Link to post
Share on other sites

Side.....est ce que le fait de comprimer le fichier à l'enregistrement a une incidence sur le temps que Max met à sauvegarder ainsi que le temps qu'il mettra à l'ouvrir ?

 

Il est vrai qu'avec cette fonction cochée le fichier subit une cure d'amaigrissement drastique...en l'occurrence, sur mon fichier test il passe de 18 mo à 6 mo..... Je vais tester sur un fichier plus lourd...

Share this post


Link to post
Share on other sites

Side.....est ce que le fait de comprimer le fichier à l'enregistrement a une incidence sur le temps que Max met à sauvegarder ainsi que le temps qu'il mettra à l'ouvrir ?

 

Il est vrai qu'avec cette fonction cochée le fichier subit une cure d'amaigrissement drastique...en l'occurrence, sur mon fichier test il passe de 18 mo à 6 mo..... Je vais tester sur un fichier plus lourd...

Bonne question, comme c'est une option que je mets systématiquement à chaque nouvelle installation de Max je ne vois pas de différence. D'autan qu'en ce moment Max je l'ouvre une fois tous les 6 mois... :?

Share this post


Link to post
Share on other sites

est ce que le fait de comprimer le fichier à l'enregistrement a une incidence sur le temps que Max met à sauvegarder ainsi que le temps qu'il mettra à l'ouvrir ?

Oui, 3dsmax mettra un peu plus longtemps à sauvegarder (il faut qu'il compresse).

Pour l'ouverture, c'est à confirmer, mais j'imagine que çà doit rallonger un peu, puisque 3dsmax doit décompresser le fichier ... mais vraiment, c'est à vérifier.

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

×
×
  • Créer...