Max クリエーション グラフには、外部ファイルからデータを読み込み、外部ファイルにデータを保存するためのノードがいくつかあります。最適な結果とパフォーマンスのために、これらのガイドラインに従う必要があります。
ファイルからデータを読み込む
ファイルを読み込むための最初の手順ではParameter: Asset ノードを使用します。これはツールをロールアウトするボタンで、ブラウザが開き、ユーザがファイルを指定できます。
選択したファイルは、シーン内のその他のすべてのアセットと同様に扱われます。たとえば、ファイルは[アセット トラッキング](Asset Tracking)ダイアログ ボックスに表示され、アーカイブする際に含まれます。
グラフでは
Parameter: Asset ノードは、文字列として、ファイルのパスを返します。このデータは、ファイル タイプに応じてデータを読み込みおよび処理するために別のノードに接続する必要があります。いくつかのオプションがあります。
- CSV (カンマ区切りの値)。これは、スプレッドシートおよびその他のアプリケーションからデータを読み込み書き出す一般的な形式です。Parameter: Assetノードからの出力を ReadCSVData に接続し、文字列を接続してセパレータを指定します(カンマである必要はありません)。出力は文字列の配列で、ファイルの構造によってはヘッダやフッタの行を破棄する必要があります。その後、配列やタイプ カテゴリから、ノードを使用して整数またはシングルのような他の種類の値への文字列の配列に変換します。例については、インストールされた CFDImportData.maxtool のグラフを参照してください。
- ビットマップ。LoadBitmapFromFile を使用して、BMP、GIF、JPG、PNG、または TIFF 形式のビットマップを読み込みます。その後、出力されたビットマップを GetPixels、BitmapHeight、BitmapWidthのようなマップ/ビットマップ カテゴリのノードに接続し、データと連携させます。
- VDB。ファイルからデータを抽出するには、OpenVDB カテゴリからノードを使用します。 たとえば、GetGridNames を使用してグリッドの配列名を取得し、その名前の 1 つを使用してグリッドの値や頂点を取得することができます。
ほとんどの場合、ファイルは、ツールが評価されるたびに再読み込みしないようにします。1 つの方法は、ファイルの名前を変更したときだけキャッシュが更新されるように、ファイル名の文字列をコントロール入力として使用し CacheValueUntilControlChanged でデータを適宜処理後にキャッシュすることです。また、CreateStaticCache と Pa ameter: Signal を一緒に使用して、ユーザがボタンをクリックしてキャッシュの更新を実行する方法もあります。
ファイルへのデータ書き込み
ビットマップ ファイルと OpenVDB ファイルを MCG ベースのファイルに保存することができます。
- ビットマップの場合、カラー値の配列の配列(つまり、ピクセル カラーの行の配列)を生成し、ConstructBitmap でビットマップ オブジェクトを作成し、最後に SaveBitmapToFile を使用します。
- OpenVDB ファイルの場合、CreateNewOpenVDBFile、PutFloatArrayAsGrid、PutVector3ArrayAsGrid 、WriteOpenVDBFileを使用して初期化し、データを追加して、保存します。例については、WriteCSVDataAsOpenVDB を参照して ださい。