インタフェース: colorMan

colorMan コア インタフェースは、MAXScript にカラー マネージャを公開します。

3ds Max では、[メイン メニュー](Main menu) > [カスタマイズ](Customize) > [ユーザ インタフェースをカスタマイズ](Customize User Interface) > [カラー](Colors)タブを使用して、さまざまな UI 要素を変更したり、要素の彩度、値、および透明度を変更したり、カラー スキームをロードおよび保存したりすることができます。

注:カラーを変更した後は、必ず colorMan.repaintUI #repaintAll を呼び出して、変更を適用し、カスタマイズ ダイアログ ボックスの内容を反映させる必要があります。

   

メソッド:

<enum> colorMan.getColorTheme()

getColorTheme enums: {#dark|#light}

3ds Max 2017 の 新機能 : 現在のカラー テーマを名前値として取得します。

   

<void> colorMan.setColorTheme <enum>theme

theme enums: {#dark|#light}

3ds Max 2017 の 新機能 : 現在のカラー テーマを設定します。

   

<enum>colorMan.getColorSchemeType() 

getColorSchemeType enums: {#customColor|#standardWindows|#windowsTheme}

3ds Max 2017 では使用できなくなりました。

現在のカラー スキーム タイプを名前値として返します。

3ds Max 2010 以降 3ds Max 2017 以前で使用可能です。

   

<enum>colorMan.setColorSchemeType <enum>type 

setColorSchemeType enums: {#customColor|#standardWindows|#windowsTheme}
type enums: {#customColor|#standardWindows|#windowsTheme}

3ds Max 2017 では使用できなくなりました。

カラー スキーム タイプを指定された名前に設定し、実際のカラー スキーム タイプを結果として返します。

3ds Max 2010 以降 3ds Max 2017 以前で使用可能です。

   

<boolean>colorMan.useStandardWindowsColors() 

3ds Max 2010 以前のバージョンでは、ウィンドウの標準カラーが使用された場合には true を、カスタム カラーが使用された場合には false を返します。

   

colorMan.setUseStandardWindowsColors <boolean>onOff   

3ds Max 2010 以前のバージョンでは、ウィンドウの標準カラーを使用するかどうかを設定しました。

   

<boolean>colorMan.registerColor <string>color <string>name <string>category <point3>defaultColor 

新しいカラーがシステムに登録されます。また、カラー マネージャのデータベースにカラーが追加され、カラー カスタマイズ UI からアクセスできるようになります。カラーが既に登録されている場合は false 、その他の場合は true を返します。

<string>color: 登録するカラーの ID。例: #myNewColor

<string>name: カラーの名前。 例: "My Own Color"

<string>category: カラーのカテゴリ。渡した名前が既存の 3ds Max カテゴリのいずれかと一致する場合は、カラーはそのカテゴリに置かれます。一致しない場合は新しいカテゴリが作成されます。例: "Fun Gaming Colors"

<point3>defaultColor: カラーの既定値。これは、3ds Max ユーザがカラー カスタマイズ ダイアログ ボックスで[リセット](Reset)を押したときに、リセットされるカラーの値です。例: [1,0,0]

colorMan.registerColor #myNewColor "My Own Color" "Ugly Colors" [1,0,0] 				  

これにより、赤の既定値を保持する #myNewColor という名前の新規カラーが登録されます。カスタマイズ UI 内のカテゴリは「Ugly Colors」、名前は「My Own Color」になります。

他のスクリプトからは、次の方法でこのカラーにアクセスできます。

colorMan.getColor #myNewColor	
注: colorMan.registerColor は、¥stdplugs¥stdscripts フォルダ内のスクリプトから呼び出す必要があります。 これらのスクリプトは 3ds Max 起動時に実行されるため、カラーはすぐにカスタマイズ UI 内で使用可能になります。ユーザがこのカラーをカスタマイズすると、値は MaxColors.clr ファイルに保存されます。

   

<boolean>colorMan.loadColorFile <filename>file 

このメソッドは、現在の UI ディレクトリから指定されたカラー ファイルをロードします。ロードが正常に終了した場合は true 、その他の場合は false を返します。

<string>file: ロードするカラー ファイルのファイル名。

注:指定したパスは、¥UI ディレクトリに相対的である必要があります。

   

<boolean>colorMan.saveColorFile <filename>file 

このメソッドは、現在の UI ディレクトリから指定されたカラー ファイルを保存します。保存処理が正常に終了した場合は true 、その他の場合は false を返します。

<string>file: 保存するカラー ファイルのファイル名。

注:指定したパスは、¥UI ディレクトリに相対的である必要があります。

   

<filename>colorMan.getColorFile() 

現在のカラー ファイルのファイル名を返します。

   

<boolean>colorMan.setColor <string>color <point3>colorValue 

ID が渡されている登録済みカラーのカラー値を設定します。カラーが設定されている場合は true 、渡された ID が見つからない場合は false を返します。

<string>color: 設定するカラーを指定します。

<point3>colorValue: 設定するカラー値。

あらかじめ定義されているカラーは次のとおりです。

#background

すべてのコントロールおよびボタンの背景

#text

すべてのコントロールおよびボタンのテキスト

#activeCommand

コマンド モード ボタンを押したときのカラー

#hilight

3d コントロールのハイライト カラー

#shadow

3d コントロールのシャドウ カラー

#window

編集ボックス、リスト ボックス、およびその他のウィンドウの背景カラー

#activeCaption

アクティブなキャプションのカラー

#toolTipBackground

ビューポートのツール チップの背景

#toolTipText

ビューポートのツール チップのテキスト カラー

#hilightText

スタック ビュー ドロップダウン リスト内のハイライト カラー

#windowText

編集ボックス、リスト ボックス、およびその他のウィンドウで使用するカラー

#itemHilight

項目のハイライト カラー

#subObjectColor

スタック ビューのサブオブジェクト レベルをハイライトするために使用されるカラー

#3dDarkShadow

3d コントロールのダーク シャドウ カラー

#3dLight

3d コントロールのライト カラー

#appWorkspace

アプリケーション ワークスペースのカラー

#trackbarBg

トラックバーの背景

#trackbarBgSel

選択されたキーのトラックバーの背景

#trackbarText

トラックバーのテキスト

#trackbarTicks

トラックバーのティック

#trackbarKeys

トラックバーのキー

#trackbarSelKeys

トラックバーの選択キー

#trackbarCursor

トラックバーのカーソル

#pressedButton

[変換のコンストレイント](transform constraints)などの押されたボタンのバックグラウンド カラー

#timeSliderBg

タイム スライダ バーの背景

#viewportBorder

ビューポートの境界カラー

#activeViewportBorder

アクティブなビューポートの境界カラー

#rollupTitleFace

ロールアウト タイトルのバックグラウンド

#rollupTitleText

ロールアウト タイトルのテキスト

#rollupTitleHilight

ロールアウト タイトルの 3d ハイライト

#rollupTitleShadow

ロールアウト タイトルの 3d シャドウ

#selectionRubberBand

選択マーキー カラー

#stackViewSelection

スタック ビュー内で選択された項目のカラー

   

<color>colorMan.getColor <string>color 

ID が渡されているカラーのカラー値が返されるか、または渡された Color が見つからない場合は、黒(RGB(0,0,0))が返されます。

<string>color: 取得するカラーを指定します。

   

<name>colorMan.getName <string>color 

ID が渡されているカラーの名前を返します。

<string>color: カラーの ID。

   

<string>colorMan.getCategory <string>color 

ID が渡されているカラーのカテゴリ文字列を返します。

<string>color: カラーの ID。

   

<boolean>colorMan.setIconFolder <filename>folder 

<filename>folder: UI フォルダの名前。ディレクトリに対する相対パスで指定します。絶対パス名は使用できません。

このメソッドは、UI のすべてのアイコンをロードするために使用するフォルダを設定し、ただちにそのフォルダからアイコンを再ロードします。

注:

アイコン ファイルのないフォルダがロードされると、UI 内のすべてのアイコンは空白になります。このとき、警告は発行されません。

   

<filename>colorMan.getIconFolder() 

現在のアイコン フォルダの絶対パス名を返します。 getIconFolder は絶対パスを返します。ただし、 setIconFolder では、相対パスしか使用できません。

   

<float>colorMan.getIconColorScale <enum>type <enum>which 

type enums: {#disabledIcon|#enabledIcon} 
which enums: {#saturationScale|#valueScale|#alphaScale} 

指定されたアイコン タイプに適用されるいずれかのスケール係数を浮動小数点値(0.0 ~ 1.0 の範囲)で返します。これらのスケール係数は、起動時にアイコンにイメージ処理を行うために使用されます。

<enum>type: 値は次のいずれかです。

#disabledIcon: 無効なアイコン。

#enabledIcon: 有効なアイコン。

<enum>which : アイコンのカラー スケール。値は次のいずれかです。

#saturationScale: 彩度のスケール。

#valueScale: 値のスケール。

#alphaScale: アルファのスケール。

   

colorMan.setIconColorScale <enum>type <enum>which <float>value 

type enums: {#disabledIcon|#enabledIcon} 
which enums: {#saturationScale|#valueScale|#alphaScale} 

渡されたアイコン タイプに、指定されたスケール係数を設定します。カラー マネージャは、3ds Max アイコン イメージ処理システムで使用する値を保持します。開発者はこのメソッドを使用して、有効なアイコンおよび無効なアイコン イメージの彩度、値、透明度をスケールする値を設定することができます。

<enum>type: アイコン タイプ。値は次のいずれかです。

#disabledIcon: 無効なアイコン。

#enabledIcon: 有効なアイコン。

<enum>which : アイコンのカラー スケール。値は次のいずれかです。

#saturationScale: 彩度のスケール。

#valueScale: 値のスケール。

#alphaScale: アルファのスケール。

<float>value: 値の範囲は 0.0 ~ 100.0 です。

   

colorMan.getIconColorInvert <enum>type 

type enums: {#disabledIcon|#enabledIcon} 

指定されたアイコン タイプに反転フラグが設定されている場合は true 、設定されていない場合は false を返します。

<enum>type: アイコン タイプ。値は次のいずれかです。

#disabledIcon: 無効なアイコン。

#enabledIcon: 有効なアイコン。

   

colorMan.setIconColorInvert <enum>type <boolean>value 

type enums: {#disabledIcon|#enabledIcon} 

指定されたアイコン タイプの反転フラグを on または off に設定します。

<enum>type: アイコン タイプ。値は次のいずれかです。

#disabledIcon: 無効なアイコン。

#enabledIcon: 有効なアイコン。

<boolean>value: 反転する場合は true、反転しない場合は false を渡します。

   

<filename>colorMan.getFileName() 

現在ロードされているカラー ファイルのファイル名を返します。

注: loadColorFile saveColorFile が相対パスを使用していても、このファイル名は絶対パスを指定します。

   

<color>colorMan.getDefaultColor <string>color 

指定された ID の既定値のカラーを返します。既定のカラーは、その後 SetColor() が実行されているかどうかにかかわらず、registerColor の defaultValue として渡された値です。これは、ユーザが[リセット](Reset)を押してカラーを既定値にリセットする場合に UI で使用されます。

<string>color: カラーの ID。

   

colorMan.repaintUI <enum>type 

type enums: {#repaintAll|#repaintTrackBar|#repaintTimeBar} 

このメソッドでは、ユーザ インタフェースの再描画を発行することができます。これは、[カスタマイズ](Customize)ダイアログ ボックスの[すぐにカラーを適用](Apply Colors Now)ボタンと同じです。

<repaintType>type: 発行する再描画のタイプ。 #repaintAll #repaintTrackBar #repaintTimeBar のいずれかです。

次に、タイム スライダおよびトラック バーの背景を青に変える macroScript を示します。

macroScript BlueBar
category: "Color"
tooltip: "Blue Bar"
(
  on execute do
  (
    colorMan.setColor #timeSliderBg [0, 0, .6]
    colorMan.repaintUI #repaintTimeBar
    colorMan.setColor #trackbarBg [0, 0, .6]
    colorMan.repaintUI #repaintTrackBar
  )
)
注:すべての 3ds Max の標準アイコン BMP ファイルは、指定したフォルダ内に存在する必要があります。標準ファイルが存在しない場合は、3ds Max の UI のアイコンが空白で表示されます。必要なすべてのアイコン ファイルは、ui¥icons フォルダ(既定のアイコン フォルダ)にあります。

   

colorman.reInitIcons() 

アイコン ファイルから、すべての CUI アイコンを再度ロードします。新規のアイコン ビットマップ ファイルを追加したり、既存のファイルを編集した後で、UI を更新する際に使用します。

3ds Max 9 以降で使用可能です。

   

<bool>colorman.resolveIconFolder <filename> <&fullfilename> 

このメソッドは、ユーザ アイコンパス、システム アイコン パス、<3dsmax.exe>¥ui¥iconsの順にファイル名を解決します。

ファイルを検出すると、完全修飾のファイル名が fullfilename に入れられ、このメソッドは true を返します。

検出されない場合には、このメソッドは false を返します。

3ds Max 9 以降 で使用可能です。

この製品に付属している SDK ヘルプ ファイルの「IcolorManager」も参照してください。

関連事項