移動先: 概要 戻り値 キーワード. 関連項目. フラグ. MEL 例.

概要

hudSlider [-allowOverlap boolean] [-block int] [-blockAlignment string] [-blockSize string] [-decimalPrecision int] [-dragCommand script] [-internalPadding int] [-label string] [-labelFontSize string] [-labelWidth int] [-maxValue float] [-minValue float] [-padding int] [-pressCommand script] [-releaseCommand script] [-section int] [-sliderIncrement float] [-sliderLength int] [-type string] [-value float] [-valueAlignment string] [-valueFontSize string] [-valueWidth int] [-visible boolean]

hudSlider は 「元に戻す」が不可能、「照会」が可能、「編集」が可能 です。

このコマンドは、3D ビューポート上にある 2D の非アクティブ オーバーレイ プレーンに配置されるヘッドアップ ディスプレイ(HUD)のスライダ コントロールを作成します。このコマンドを使用して、ユーザ スクリプトで実際的な操作を指定できます。HUD スライダは一般的な HUD オブジェクトから派生するため、同様のワークフローを継承します。

このコマンドの機能は headsUpDisplay コマンドによく似ていますが、layoutVisibility、nextFreeBlock、lastOccupiedBlock、exists、remove などの headsUpDisplay レイアウト コントロールは利用できません。レイアウト コントロールを利用する場合は、headsUpDisplay コマンドを使用してください。これは、HUD スライダの作成と管理に特化したコマンドです。同様に、このコマンドで実行される操作はスライダになる HUD のみを対象としています。

作成時に必要なフラグは、section フラグと block フラグのみです。

headsUpDisplay コマンドと同様に、HUD スライダを作成すると、ID 番号が割り当てられます 必要に応じて、この ID 番号を使用して headsUpDisplay コマンド(-rid/removeID [int IDNumber])で HUD スライダを削除することができます。あるいは、HUD オブジェクトをそれらの位置(セクションとブロック)やそれぞれの固有名を使用して削除することもできます。

戻り値

intヘッドアップ ディスプレイ(HUD)の ID 番号。
string|int|int[2]対応する削除コマンドのヘッドアップ ディスプレイの名前、ID またはセクション、ブロック値。

戻り値の型は照会モードでは照会フラグが基になります。

キーワード

hud, headsupdisplay, slider, hudslider

関連項目

floatSlider, headsUpDisplay, intSlider

フラグ

allowOverlap, block, blockAlignment, blockSize, decimalPrecision, dragCommand, internalPadding, label, labelFontSize, labelWidth, maxValue, minValue, padding, pressCommand, releaseCommand, section, sliderIncrement, sliderLength, type, value, valueAlignment, valueFontSize, valueWidth, visible
ロング ネーム(ショート ネーム) 引数型 プロパティ
-visible(-vis) boolean createqueryedit
ヘッドアップ ディスプレイのレイアウトの表示(オンかオフ)を切り替えます。
-allowOverlap(-ao) boolean createqueryedit
重なっているセクションの幅や制限に関わらず、ヘッドアップ ディスプレイを表示します(詳細については、-s/section フラグの説明を参照してください)。
-section(-s) int createqueryedit
HUD を表示させるセクションを定義します。画面は 10 セクションに分割されています。メイン ビューポートを分割する 10 の要素行列は、5 列 × 2 行で構成されます。セクションのレイアウトを以下に示します。

 ________________________
|    |    |    |    |    |
|    |    |    |    |    |
| 0  | 1  | 2  | 3  | 4  |
|    |    |    |    |    |
|____|____|____|____|____|
|    |    |    |    |    |
|    |    |    |    |    |
| 5  | 6  | 7  | 8  | 9  |
|    |    |    |    |    |
|____|____|____|____|____|

各セクションは、上記のとおり 0 から 9 までの番号で表されます。 たとえば、上列の左から 2 行目の場合、セクションは次のように定義されます。-sec 1

ヘッドアップ ディスプレイが重なり合って文字が煩雑になることを回避するため、それぞれの行には表示の優先順位が定義されていて、各セクションの表示にも優先順位が設定されています。この優先順位に従って、画面スペースが狭まって行のセクション幅が重なり合うと、HUD は優先順位が一番低いセクションを自動的に削除します。これらのセクションは非表示になり、消去されたことを伝える警告メッセージが表示されます。この処理は、最優先のセクションのみが残るまで継続されます。

それぞれの行の優先順位は、次のように定義されます(上列を例に挙げます)。セクション 0 が最優先され、セクション 4 が 2 番目と、外側のセクションの優先順位が最も高くなります。 次に セクション 2 、続くセクション 1 と 3 の優先順位は等しく、共に優先順位が最も低くなります。この優先順位の構造は、下列にも適用されます。外側の 2 セクションが最優先され、中央のセクションが続き、残りの 2 セクションの優先順位が最も低くなります。

つまりビューポートの幅が狭まって上列のセクションが重なり始めた場合、まずセクション 1 と 3 がビューから削除され、続いてセクション 2 が、最後にセクション 4 が削除されます。ブロック レイアウトについても、同様の説明が以下に記されています。

-block(-b) int createqueryedit
セクション内で、HUD が属する個々のブロックを表します。各セクションは一列のブロックから構成されます。 各セクションに含まれるブロックの総数は異なります。

各セクションに表示されるブロック数は、各セクションにあるブロックのサイズとウィンドウのカレント サイズによって決まります。ブロック数は 0 から始まり、必要に応じて増加します。

HUD スライダのフォーマットは、標準的な HUD とは異なります。 フォーマット フラグ(justify、padding、buttonWidth など)で定義するパラメータを使用するレイアウトは、次のとおりです。

 __________________________________________________________________
|     |     |        |            |      |             |     |     |
|  P  |  J  |   LW   |   Slider   |  IP  | SliderValue |  J  |  P  |
|_____|_____|________|____________|______|_____________|_____|_____|
P = 幅のサブブロック、パディング
J = ブロック全体の行端揃え
LW = 幅のサブブロック、labelWidth
Slider = スライダの長さ
SliderValue = 幅のサブブロック、valueWidth
IP = 内部パディング

ブロックの位置決め

上部セクションのブロックは主要ビューポートの上端から始まり、下部セクションは下端から始まります。 ブロックは、ビューポートの中間から動的に非表示になります。したがって、比較的多いブロック数はビューポートへと引き寄せられません。

最後に、単一ブロックを占有できる HUD の数は一つです。 占有されているブロックに HUD をさらに配置しようとするとエラーになります。 HUD を配置する際の注意点です。

-blockSize(-bs) string createqueryedit
各ブロックの高さを設定します。選択できる高さは、small、medium、large です。 ピクセル単位では、それぞれ 20、35、50 ピクセルに相当します。
-blockAlignment(-ba) string createqueryedit
ブロックの、その列内でのアラインメントを指定します。使用可能なアラインメントは 「center」、「left」、「right」で、デフォルトは「left」です。
-padding(-p) int createqueryedit
ブロックの左右マージンの幅を指定します。デフォルト値は 15 ピクセルです。
-internalPadding(-ip) int createqueryedit
HUD の内部エレメント間のパディング数を指定します。hudSlider の場合、これはスライダ バーとスライダ値の間のパディングを表します。デフォルトのパディングは 10 です。
-label(-l) string createqueryedit
HUD のテキスト ラベル。
-labelFontSize(-lfs) string createqueryedit
ラベルのフォント サイズを設定します。使用可能なサイズは small と large です。
-labelWidth(-lw) int createqueryedit
ラベルを保持する仮想「テキストボックス」のピクセル幅を指定します。この「テキストボックス」の内容は左揃えにされます。ラベルの実際の幅が「テキストボックス」の幅を超える場合、「テキストボックス」の寸法に合わせてラベルが切り捨てられます(ブロックのレイアウトを確認する場合は、-block フラグの説明を参照してください)。
-value(-v) float createqueryedit
HUD が有効な HUD スライダである場合、スライダ値を設定または返します。: このフラグは float を引数として使用しますが、HUD タイプが「int」(整数)の場合、この値は自動的に整数に変換されます。
-type(-t) string createqueryedit
HUD の数値のタイプを指定します。使用可能なタイプは、「float」と「int」です。
-minValue(-min) float createqueryedit
スライダの最小値を指定します。: このフラグは float を引数として使用しますが、HUD タイプが「int」(整数)の場合、この値は自動的に整数に変換されます。
-maxValue(-max) float createqueryedit
スライダの最大値を指定します。: このフラグは float を引数として使用しますが、HUD タイプが「int」(整数)の場合、この値は自動的に整数に変換されます。
-valueFontSize(-vfs) string createqueryedit
スライダ値のフォント サイズを設定します。使用可能なサイズは small と large です。
-valueAlignment(-va) string createqueryedit
データ ブロックとデータ テキストの、HUD ブロック内でのアラインメントを指定します。 使用可能なアラインメントは 「left」と「right」で、デフォルトは「left」です。
-valueWidth(-vw) int createqueryedit
スライダ値を保持する仮想「テキストボックス」のピクセル幅を指定します(ブロックのレイアウトを確認する場合は、-block フラグの説明を参照してください)。
-sliderLength(-sl) int createqueryedit
スライダの長さを、ピクセル単位で指定します。
-sliderIncrement(-si) float createqueryedit
スライダの増分数を指定します。この値を設定しない、または 0 以下に設定した場合にスライダは minValue から maxValue まで、リニアに均一で連続的になります。: このフラグは float を引数として使用しますが、HUD タイプが「int」(整数)の場合、この値は自動的に整数に変換されます。
-decimalPrecision(-dp) int createqueryedit
コマンドが返す浮動小数点値の小数精度を設定します。精度値の有効範囲は、1~8 です。
-pressCommand(-pc) script createqueryedit
マウス ボタンをクリックするときに実行するプロシージャまたはスクリプトを指定します。
-dragCommand(-dc) script createqueryedit
マウス ボタンをドラッグするときに実行するプロシージャまたはスクリプトを指定します。
-releaseCommand(-rc) script createqueryedit
マウス ボタンを放すときに実行するプロシージャまたはスクリプトを指定します。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : 1 つのコマンドで複数回使用可能なフラグ

MEL 例

// Define a procedure to execute on press/drag/release. This procedure
// will explicitly set any selected transforms to a given position along
// the X axis based on the value of a given HUD slider.
//
global proc translateXSlider( string $HUD )
{
	// Since undo is not turned off automatically, we must
	// do it ourselves. The HUD will fire off many calls to this
	// procedure during a drag so we don't want to flood the undo
	// queue.
	//
	undoInfo -swf false;
	string $selList[] = `ls -sl`;
	int $numItems = size($selList);
	for( $i = 0; $i < $numItems; $i++ )
	{
		string $object = $selList[$i];
		if( `objectType -isType "transform" $object` )
		{
			string $translateX = $object + ".tx";
			float $value = `hudSlider -q -v $HUD`;
			setAttr $translateX $value;
		}
	}
	// Re-enable the undo queue.
	//
	undoInfo -swf true;
}
// Now create our slider HUD
//
hudSlider -section 2
		  -block 5
		  -visible 1
		  -label "TranslateX:"
		  -value 0
		  -type "int"
		  -minValue -10
		  -maxValue 10
		  -labelWidth 80
		  -valueWidth 50
		  -sliderLength 100
		  -sliderIncrement 1
		  -pressCommand "translateXSlider( \"HUDTranslateXSlider\" )"
		  -dragCommand "translateXSlider( \"HUDTranslateXSlider\" )"
		  -releaseCommand "translateXSlider( \"HUDTranslateXSlider\" )"
		  HUDTranslateXSlider;