Max Creation Graph comprend un certain nombre de noeuds qui vous permettent de lire des données à partir de fichiers externes et d'y enregistrer des données. Respectez les instructions suivantes pour optimiser les résultats et les performances.
Lecture de données à partir de fichiers
Pour lire un fichier, la première étape consiste à utiliser un noeud Paramètre : archive. Le panneau déroulant de l'outil propose alors un bouton qui ouvre un navigateur dans lequel les utilisateurs peuvent spécifier un fichier.
Le fichier sélectionné est considéré comme n'importe quelle autre archive d'une scène. Par exemple, le fichier apparaît dans la boîte de dialogue Suivi d'archivage et est inclus lors de l'archivage.
Dans le graphique, le noeud
Paramètre : archive renvoie le chemin du fichier en tant que chaîne. Selon le type de fichier, vous devez connecter la sortie à un autre noeud pour lire et traiter les données. Plusieurs options sont disponibles :
- CSV (valeurs séparées par des virgules). Ce format de fichier est couramment utilisé pour importer et exporter des données à partir de feuilles de calcul et d'autres applications. Connectez la sortie du noeud Paramètre : archive à un noeud ReadCSVData. Connectez également une chaîne pour spécifier le séparateur (qui ne doit pas forcément être une virgule). Vous obtenez un réseau de réseaux de chaînes. En fonction de la structure de votre fichier de données, vous devrez peut-être supprimer des lignes d'en-tête et de pied de page. Vous pouvez ensuite utiliser les noeuds des catégories Réseau et Type pour convertir les chaînes des réseaux en d'autres types de valeurs, notamment des valeurs entières ou uniques. Pour obtenir un exemple, examinez le graphique du fichier CFDImportData.maxtool installé.
- Bitmaps. Utilisez LoadBitmapFromFile pour lire un fichier bitmap au format BMP, GIF, JPG, PNG ou TIFF. Connectez ensuite le bitmap de sortie à des noeuds dans la catégorie Textures/bitmaps comme GetPixels, BitmapHeight et BitmapWidth pour travailler avec les données.
- VDB. Utilisez les noeuds de la catégorie OpenVDB pour extraire les données du fichier. Par exemple, vous pouvez utiliser GetGridNames pour obtenir un réseau de noms de grilles, puis utiliser l'un de ces noms pour obtenir les valeurs ou les sommets de la grille.
Dans la plupart des cas, vous voulez éviter de relire les fichiers chaque fois que l'outil est évalué. Une méthode consiste à mettre en cache les données (après traitement, le cas échéant) à l'aide de CacheValueUntilControlChanged. Pour cela, utilisez la chaîne du nom de fichier comme entrée du contrôle de manière à ce que le cache ne soit actualisé que lorsque le nom de fichier est modifié. Vous pouvez également essayer d'utiliser CreateStaticCache avec Paramètre : signal pour permettre aux utilisateurs de cliquer sur un bouton afin de forcer la mise à jour du cache.
Ecriture de données dans des fichiers
Vous pouvez enregistrer des fichiers bitmap et OpenVDB à partir d'outils MCG.
- Pour les bitmaps, générez un réseau de réseaux de valeurs de couleur (c'est-à-dire un réseau de lignes de couleurs de pixel), puis utilisez ConstructBitmap pour créer un objet bitmap, et enfin SaveBitmapToFile.
- Pour les fichiers OpenVDB, utilisez CreateNewOpenVDBFile, PutFloatArrayAsGrid, PutVector3ArrayAsGrid et WriteOpenVDBFile pour initialiser un fichier, y ajouter des données et l'enregistrer. Pour obtenir un exemple, consultez WriteCSVDataAsOpenVDB.