アイコン ビットマップ ファイルには、個別のアイコンをいくつでも含めることができ、アイコンは整列して保存されます。
アイコン ビットマップ ファイルを作成する場合、次の条件を満たす必要があります。
アイコン ビットマップ ファイルとは、実際にはファイルのグループのことです。各アイコン ビットマップ ファイル グループについて、少なくとも 2 つのイメージ ファイルが必要です。1 つは 16x15 ピクセルのイメージでファイル名の末尾が _16i.bmp、もう 1 つは 24x24 ピクセルのイメージでファイル名の末尾が _24i.bmp のファイルです。たとえば、ファイル名を myicons_16i.bmp と myicons_24i.bmp などにします。
1 つのアイコン ビットマップ ファイル内のすべてのアイコン イメージは、ファイル名の接尾辞で定義されたサイズにする必要があります。
各アイコン ビットマップ ファイル グループには、同様のアイコン イメージが同じ順序で含まれている必要があります。これによって、選択したボタン サイズに関係なく、1 つのインデックスで目的のビットマップを検索することができます。
モノクロの場合は、Windows 互換のマスクを使用することができます。 これらのマスクは、_16m.bmp および _24m.bmp で終わるファイル名で保存してください。たとえば、ファイル名を myicons_16m.bmp と myicons_24m.bmp などにします。
8 ビット アルファ チャネル データが使用可能で、かつアルファが事前に掛け合わされていない場合には、_XXa.bmp ファイルに保存する必要があります。アルファが事前に掛け合わされている場合は、_XXp.bmp ファイルに保存する必要があります。 XX は 16 か 24 のいずれかです。たとえば、ファイル名を myicons_16a.bmp と myicons_24a.bmp などにします。
マスク チャネル ビットマップ ファイルが存在する場合はそれらが使用されます。マスク チャネル ビットマップ ファイルが存在しない場合、アルファ チャネル ビットマップ ファイルが使用されます。マスク チャネル データ ビットマップ ファイルおよびアルファ チャネル データ ビットマップ ファイルのいずれも存在しない場合は、左上のピクセルのカラーは「透明色」とみなされ、そのイメージ ビットマップに対してマスクが自動的に生成されます。
MAXScript 内で render() を呼び出すことによってアイコンを生成する場合、上記で解説されている命名規則を使用し、.bmp ファイルを現在の 3ds Max ユーザ インタフェース ディレクトリに置いてください。次の関数を使って、現在のユーザ インタフェース ディレクトリへのパスを取得できます。
3ds Max 9 以降では、キャラクタ ユーザ インタフェースのアイコン ファイル(*_16i.bmp、*_16a.bmp、*_24i.bmp、*_24a.bmp)は、最初にユーザのアイコン ディレクトリからロードされ、次に Max のシステム アイコン ディレクトリ、<3dsmax.exe>¥ui¥icons の順にロードされます。複数のディレクトリに同じファイル セットが存在する場合は、最初のディレクトリに含まれているものが使用されます。
3ds Max 9 以降では、loadPicure への引数として指定されるアイコン ファイル名、UI 項目用の画像配列に含まれるファイル名、およびビットマップ UI 項目用のファイル名には、アイコン フォルダのパスを指定する必要はなくなりました。アイコン ファイル名は、次に示すディレクトリの順に検索されます:
Windows NT 32 ビット システム ディレクトリ(system32)
Windows 16 ビット システム ディレクトリ(system)
次のメソッドはカスタム アイコン ファイルで作業する際に役立ちます。
すべての CUI アイコンをアイコン ファイルから再ロードします。新規のアイコン ビットマップ ファイルを追加したり、既存のファイルを編集した後で、UI を更新する際に使用します。
このメソッドは、ユーザ アイコンパス、システム アイコン パス、<3dsmax.exe>¥ui¥iconsの順にファイル名を解決します。ファイルを検出すると、完全修飾のファイル名が fullfilename に入れられ、このメソッドは true を返します。検出されない場合には、このメソッドは false を返します。