Materialbutton UI コントロール

ユーザ インタフェース コントロール > 共通プロパティ > レイアウト > タイプ > Materialbutton

 

   

ユーザ インタフェースの作成 - クイック ナビゲーション

Materialbutton コントロールは、クリック時に 3ds Max の[マテリアル/マップ ブラウザ](Material/Map Browser)を表示するボタンをロールアウト内に配置するために使用します。[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスにはマテリアルのみが表示されます。

構文は次のようになります。

materialbutton <name> [<caption>] [material:<material>] [images:<image_spec_array>] [toolTip:<string>] [border:<boolean>] 	 

materialbutton 項目の位置合わせの既定値は、 #center です。

例:

Rollout assign_material "Assign Material"
(
  label smtl_lbl "Set selected object's material to:"
  materialbutton choosemtl "Pick Material"
  on choosemtl picked mtl do
  (
    print mtl
    if $ != undefined do $.material=mtl
  )
)
createDialog assign_material

   

パラメータ

material:   

materialbutton を使用してマテリアルを選択する前に material プロパティによって返されるマテリアルの初期値です。既定値は undefined です。

   

images: 

materialbutton にビットマップ イメージを提供するイメージ仕様配列です。指定すると <label> は無視されて、 materialbutton の内容がビットマップに置き換えられます。

形式は次のとおりです。

   

images:#(<image>, <maskImage>, <count_integer>, \ <enabled_out_image_index>, <enabled_in_image_index>, \ <disabled_out_image_index>, <disabled_in_image_index>) 

ここで、 <image> および <maskImage> は、ビットマップ ファイル名の文字列でも、MAXScript ビットマップ値でもかまいません。 <count_integer> には、ビットマップ内のサブイメージの数を指定し、 image_index 値には、 materialbutton の 4 つの状態にビットマップのどのサブイメージを使用するかを指定します。

例:

bm1 = render camera:$cam01 outputSize:[80,60]
...
materialbutton foo images:#(bm1, undefined, 1, 1, 1, 1, 1)

これは、 materialbutton イメージとしてレンダリングを使用します。

materialbutton decay images:#("dcybtns.bmp", "dcymask.bmp", 6, 1, 4, 1, 4)

これは、ビットマップのサブ イメージ 1 と 4 を使用します。 dcybtns.bmp および dcymask.bmp は、それぞれ materialbutton のオフまたはオン状態に対応しています。

イメージ ボタン も参照してください。

   

toolTip: 

materialbutton のツールチップに使用するテキストを提供します。指定されない場合、ツールチップは表示されません。

   

border: 

true に設定した場合、または指定しなかった場合、mapbutton は境界線付きで描画されます。これは、3ds Max 2009 より前のバージョンでは既定値の動作でした。

false に設定すると、materialbutton は境界線なしで描画され、UI の背景が付いたものになります。materialbuttonが有効になっている場合、materialbutton が押されたとき、またはボタンの上にマウスが置かれたときに境界線が表示されます。

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

   

プロパティ:

<materialbutton>.material Material 

materialbutton に使用する現在のマテリアル値です。マテリアルを選択していない場合は、 material パラメータによって指定されているマテリアル値を返します。

   

<materialbutton>.images Array 

materialbutton に対するイメージ仕様配列を設定します。

このプロパティは、書き込み専用です。

例:

-- re-render, update button
bm1 = render()
foo.images = #(bm1, undefined, 1, 1, 1, 1, 1)

   

<materialbutton>.tooltip String 

チェックボタンのツールチップ文字列を取得/設定します。

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

例:

rollout test "Test"
(
  mapbutton mat_test "Material Button" tooltip:"This is a material button"
)
createDialog test
test.mat_test.tooltip = "The tooltip has changed!"

   

イベント

on <materialbutton> picked <arg> do <expr> 

ユーザが materialbutton 選択コマンド モードで[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスからマテリアルを選択すると呼び出されます。 <arg> 引数は、選択したマテリアル値を含みます。[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスをキャンセルして閉じた場合は、このハンドラは呼び出されません。

   

on <materialbutton> rightclick do <expr> 

ボタン上で右マウス ボタンが放されたときに、呼び出されます。3ds Max 8 以降 で使用可能です。

注: materialButton がスクリプト化されたマテリアル プラグインのロールアウトで使用され、マテリアル エディタを開いた場合、これらは通常のマテリアルでのサブマテリアル ボタンと同様に機能します。この機能には、インスタンス/コピーでのドラッグ アンド ドロップをサポートしたり、割り当てたマテリアルを開く機能があります。

警告:

スクリプト マップ プラグインのロールアウトでは、 materialButton を使用できません。3ds Max マテリアル エディタのアーキテクチャでは、サブマテリアルは別のマテリアルの子であることが前提となっています。このため、サブマテリアルをマップに割り当てようとすると、問題が発生します。

関連事項