OpenEXR クラスは、3ds Max 2011 で導入された OpenEXR 出力プラグインの設定にアクセスするためのインタフェースを公開します。
この BitmapIO は、以前使用可能だった MaxOpenEXR BitmapIO プラグインの完全な置き換えです。以前の 3ds Max 8 で導入されたプラグインは完全に削除されました。
コンストラクタ:
Class instances not creatable by MAXScript
エイリアス:
OpenEXR fopenexr
インタフェース: fopenexr
fopenexr interface は、プロパティを公開せず、次のメソッドがあります。
メソッド:
<boolean>fopenexr.setDefaults ()
OpenEXR 処理とその既定値を初期化します。
<boolean>fopenexr.loadEXRParams <&String>exrName
exrName is In and Out parameter
指定の EXR ファイル名から EXR パラメータをロードします。
<boolean>fopenexr.saveEXRParams <&String>exrName
exrName is In and Out parameter
指定の EXR ファイル名から EXR パラメータを保存します。
<boolean>fopenexr.delAllAppDatas ()
すべての AppData を削除します。
成功した場合は true を返し、成功しなかった場合は false を返します。
次のメソッドは、[OpenEXR 設定](OpenEXR Configuration)ダイアログにある[メイン レンダリング出力](Main Render Output)グループの[形式] (Format)と[タイプ] (Type)設定へのアクセスを提供します。
次のメソッドは、[OpenEXR 設定](OpenEXR Configuration)ダイアログダイアログにある、[圧縮] (Compression)、[ストレージ タイプ](Storage Type)、[イメージ領域](Image Region)の設定へのアクセスを提供します。
<integer>fopenexr.getCompression ()
[圧縮] (Compression)ドロップダウン リストの選択インデックスに対応する整数を返します。
有効な値については次の表を参照してください。
選択インデックスの基数は 0 ですので注意してください。
<boolean>fopenexr.SetCompression <integer>compression
[圧縮] (Compression)ドロップダウン リストを整数引数によって指定されたリストに設定してください。
使用可能な値は次のとおりです。
コード | 圧縮タイプ |
---|---|
0 | 圧縮なし |
1 | Run Length Encoding (RLE) |
2 | ZLIB 圧縮、スキャンラインごと |
3 | ZLIB 圧縮、16 スキャンライン ブロック |
4 | PIZ ベース ウェーブレット圧縮 |
5 | ロッシー 24 ビット 浮動小数圧縮 |
6 | ロッシー 4 x 4 ピクセル ブロック圧縮 |
7 | ロッシー 4 x 4 ピクセル ブロック圧縮 (固定圧縮率) |
<boolean>fopenexr.getSaveScanline ()
[ストレージ タイプ](Storage Type)が[イメージをスキャンラインとして保管](Store Image as Scanlines)に設定されている場合は true、[イメージをタイルとして保管](Store Image as Tiles)に設定されている場合は false を返します。
<boolean>fopenexr.setSaveScanline <boolean>saveScanline
引数が true の場合は[ストレージ タイプ](Storage Type)を[イメージをスキャンラインとして保管](Store Image as Scanlines)に設定します。
引数が false の場合は[ストレージ タイプ](Storage Type)を[イメージをタイルとして保管](Store Image as Tiles)に設定します。
<integer>fopenexr.getTileSize ()
[ストレージ タイプ](Storage Type)が[スキャンライン] (Scanline)に設定されたときは、使用されているタイル サイズを返します。
タイル サイズはユーザ インターフェースに公開されていません。
<boolean>fopenexr.setTileSize <integer>tileSize
[ストレージ タイプ](Storage Type)が[スキャンライン] (Scanline)に設定されたときは、使用されているタイル サイズを設定します。
タイル サイズはユーザ インターフェースに公開されていません。
<boolean>fopenexr.getSaveRegion ()
[イメージ領域](Image Region)ドロップダウン リストが[地域を保存](Save Region)に設定されている場合、true を返します。
[イメージ領域](Image Region)ドロップダウン リストが[完全なイメージを保存](Save Full Image)に設定されている場合、false を返します。
<boolean>fopenexr.setSaveRegion <boolean>saveRegion
ブール値の引数が true の場合、[イメージ領域](Image Region)オプションを[地域を保存](Save Region)に設定します。
ブール値の引数が false の場合、[イメージ領域](Image Region)オプションを[完全なイメージを保存](Save Full Image)に設定します。
<integer>fopenexr.numLayers ()
EXR ファイル内の現在のレイヤ数を返します。
<integer>fopenexr.getLayerType <integer>layer
0 インデックス付きレイヤのタイプを整数として返します。
有効な値は次のとおりです。
0 - メイン レンダリング レイヤ - 引数 0 の場合常に返されます。
1 - レンダリング要素 レイヤ
2 - G-バッファ チャネル レイヤ
<Stringby value>fopenexr.getLayerName <integer>layer
0 ベースの引数で指定されたレイヤの 3ds Max で使用される名前を返します。
メイン レンダリング レイヤ(整数 0)の場合、値は常に空の文字列("")になります。
これは、[レンダリング要素](Render Elements)の場合、[レンダリング設定](Render Setup)ダイアログの[レンダリング要素](Render Elements)パネルに表示される名前になります。
G-バッファ チャネルの場合、ユーザ インターフェースに表示される標準の名前になります。
<boolean>fopenexr.setLayerName <integer>layer <&String>name
name is In and Out parameter
3ds Max の名前を指定のレイヤーに設定します。
<Stringby value>fopenexr.getLayerOutputName <integer>layer
引数で指定されたレイヤの EXR ファイルで使用される名前を返します。
これは、[レンダリング要素](Render Elements)および[G-バッファ ID チャネル](G-Buffer Channels) リストの[レイヤ] (Layer)列に表示される名前になります。
<boolean>fopenexr.setLayerOutputName <integer>layer <&String>name
name
は入出力パラメータです
0 ベースの 1 番目の引数で指定されたレイヤの EXR ファイルで使用される名前を設定します。この場合、0 はメイン レンダリング レイヤを表します。
これは、[レンダリング要素](Render Elements)および[G-バッファ ID チャネル](G-Buffer Channels) リストの[レイヤ] (Layer)列に表示される名前になります。
<integer>fopenexr.getLayerOutputType <integer>layer
指定された破片のタイプを返します。
可能なレイヤの出力タイプは次の通りです。
0 - RGBA
1 - RGB
2 - モノ
3 - XYZ (G-バッファ チャネルのみ)
4 - XY (G-バッファ チャネルのみ)
5 - UV (G-バッファ チャネルのみ)
<boolean>fopenexr.setLayerOutputType <integer>layer <integer>type
1 番目の引数で指定されたレイヤの出力タイプを 2 番目の引数の値に設定します。
1 番目の引数が 0 として指定されている場合、メイン レンダリング レイヤのタイプが設定されます。
2 番目の引数として可能な値は次の通りです。
0 - RGBA
1 - RGB
2 - モノ
3 - XYZ (G-バッファ チャネルのみ)
4 - XY (G-バッファ チャネルのみ)
5 - UV (G-バッファ チャネルのみ)
<integer>fopenexr.getLayerOutputFormat <integer>layer
指定されたレイヤの出力フォーマットを返します。
有効な値は次のとおりです。
0 - FLOAT32
1 - FLOAT16
2 - INT32
<boolean>fopenexr.setLayerOutputFormat <integer>layer <integer>format
1 番目の引数で指定されたレイヤの出力フォーマットを 2 番目の引数で指定されたタイプに設定します。
1 番目の引数が 0 として指定されている場合、メイン レンダリング レイヤのフォーマットが設定されます。
2 番目の引数として可能な値は次の通りです。
0 - FLOAT32
1 - FLOAT16
2 - INT32
例:
以下に、メイン レイヤの出力フォーマットとタイプを設定する例を示します。
fopenexr.setLayerOutputFormat 0 0 -- set Main Render to FLOAT32 fopenexr.setLayerOutputType 0 1 -- set Main Render to RGB
<maxObject>fopenxr.getRenderElementByLayer <integer>layer
レンダリング要素を指定したレイヤの MAXObject として返します。3ds Max 2017 以降で使用可能です。
<boolean>fopenxr.getLayerEnabled <integer>layer
指定したレイヤが有効な場合は、true を返します。3ds Max 2017 以降で使用可能です。
<boolean>fopenexr.isAutoAddRenderElements ()
[レンダリング要素の自動的な追加/削除](Automatically Add/Remove Render Elements)オプションの現在の状態を返します。
<boolean>fopenexr.setAutoAddRenderElements <boolean>add
[レンダリング要素の自動的な追加/削除](Automatically Add/Remove Render Elements)オプションの現在の状態を設定します。
<boolean>fopenexr.addRenderElementLayer <&String>name <&String>outname <integer>type <integer>format
name is In and Out parameter
outname is In and Out parameter
レンダリング要素レイヤを追加します。 (3ds Max) の名前、出力 (EXR) の名前、タイプ、フォーマットを指定する必要があります。
<boolean>fopenexr.delRenderElementLayer <&String>name
name is In and Out parameter
レンダリング要素レイヤを、(3ds Max) での名前で指定して、削除します。
<boolean>fopenexr.addRenderElementLayerRef <maxObject>element <&String>outname <integer>type <integer>format
outname is In and Out parameter
標準のレンダリング要素マネージャから取得した MAXObject をレンダリング要素として追加します。
<boolean>fopenexr.delRenderElementLayerRef <maxObject>element
MAXObject として渡される指定のレンダリング要素レイヤを削除します。
例:
以下は、MAXObject 変数を使用してレンダリング要素レイヤに追加する例です。
reMgr = maxOps.GetCurRenderElementMgr () el = reMgr.getRenderElement 1 fopenexr.addrenderelementlayerref el "diffuse" 0 0
上記の 2 つの参照関数で、同じ名前を持つレンダリング要素レイヤを管理できます。
<integer>fopenexr.delAllRenderElementLayers ()
すべてのレンダリング要素レイヤを削除します。
削除されたレイヤの数を返します。
<boolean>fopenexr.addGBufferChannelLayer <integer>channel <&String>name <integer>type <integer>format
name is In and Out parameter
G-バッファ チャネル レイヤを追加します。チャネル、(3ds Max) 名前、タイプ、形式を指定する必要があります。
<boolean>fopenexr.delGBufferChannelLayer <&String>name
name is In and Out parameter
(3ds Max) 名前で指定された G-バッファ チャネル レイヤを削除します。
<integer>fopenexr.delAllGBufferLayers ()
すべての G-バッファ レイヤを削除します。
削除されたレイヤの数を返します。
MAXScript を使用して、カスタム アトリビュートまたは「メタデータ」を OpenEXR ファイルに保存できます。これらのアトリビュートは、任意のデータを含むことができ、3ds Max で無視されます。
他の OpenEXR アプリケーションで読み込んで使用できるアトリビュートは、データ (ここで説明されているカメラ アトリビュートなど)のmight be
場合もあります。
目的は 3ds Max のユーザ インターフェースでオブジェクトのプロパティとして定義できるカスタム アトリビュートと似ていますが、EXR ファイルのカスタム アトリビュートは、オブジェクトのアトリビュートから完全に独立しています。
カスタム アトリビュートごとに名前とインデックスがあります。
名前はユーザ定義の文字列です。
インデックスは、アトリビュートがファイルに追加された順序を示す基数 0 のインデックスです。
<integer>fopenexr.numAttributes ()
EXR ファイルのカスタム アトリビュートの数を返します。
<Stringby value>fopenexr.getAttributeName <integer>attribute
基数 0 のインデックスが付いたアトリビュートの名前を返します。
<integer>fopenexr.getAttributeType <integer>attribute
整数値に基数 0 のインデックスが付いたアトリビュートのタイプを返します。
アトリビュートのタイプのコードは以下のとおりです。
FOPENEXR_ATTRIB_STRING=0
FOPENEXR_ATTRIB_FLOAT=1
FOPENEXR_ATTRIB_INT=2
FOPENEXR_ATTRIB_MATRIX=3
<Stringby value>fopenexr.getAttributeStringValue <integer>attribute
指定された基数 0 インデックスが付いた文字列アトリビュートの値を返します。
<float>fopenexr.getAttributeFloatValue <integer>attribute
指定された基数 0 インデックスが付いた浮動小数点アトリビュートを返します。
<integer>fopenexr.getAttributeIntValue <integer>attribute
指定された基数 0 インデックスが付いた整数アトリビュートを返します。
<matrix3 by value>fopenexr.getAttributeMatrixValue <integer>attribute
指定された基数 0 インデックスが付いた変換行列のアトリビュートを返します。
<boolean>fopenexr.addStringAttribute <&String>attribute <&String>value
attribute is In and Out parameter
value is In and Out parameter
文字列値のアトリビュートを追加し、名前と値を指定します。
<boolean>fopenexr.addFloatAttribute <&String>attribute <float>value
attribute is In and Out parameter
浮動小数点値のアトリビュートを追加し、名前と値を指定します。
<boolean>fopenexr.addIntAttribute <&String>attribute <integer>value
attribute is In and Out parameter
整数値のアトリビュートを追加し、名前と値を指定します。
<boolean>fopenexr.addMatrixAttribute <&String>attribute <matrix3 by value>value
attribute is In and Out parameter
変換行列値のアトリビュートを追加し、名前と値を指定します。
<boolean>fopenexr.delAttribute <&String>attribute
attribute is In and Out parameter
指定された頂点を削除します。
<integer>fopenexr.delAllAttributes ()
EXR ファイルからすべてのカスタム アトリビュートを削除します。
削除されたアトリビュートの数を返します。
EXR ファイルでカメラ アトリビュートを保存できます。
[カメラ] (Camera)ビューポートからレンダリングする必要があります。
EXR ファイルに保存されるカメラ アトリビュートは以下のとおりです。
cameraTransform
cameraProjection
cameraFov
cameraAperture
cameraNearClip
cameraFarClip
cameraNearRange
cameraFarRange
cameraTargetDistance
カメラ アトリビュートは、カスタム アトリビュートの特殊なケースです。
<boolean>fopenexr.getSaveCameraAttributes ()
[カメラ アトリビュートの保存](Save Camera Attributes)オプションの現在の状態を返します。
True の場合カメラ アトリビュートは OpenEXR で保存されます。
False の場合カメラ アトリビュートは OpenEXR で保存されません。
<boolean>fopenexr.setSaveCameraAttributes <boolean>saveCamera
ブール値の引数に対してカメラ アトリビュートの保存の状態を設定します。