Softimage において手動で実行できることは、スクリプト コマンドからも実行できます。選択操作も例外ではありません。 選択されている内容を変更したり、その選択対象がどういうものであるかを確めることも可能です。
このセクションでは、スクリプト コマンドを使用して選択されている項目を操作する方法についてのみ説明します。 より強力なオブジェクト モデルおよび C++ API アクセスについては、「選択」を参照してください。
現在選択されている内容を確認するには、ネイティブの Softimage GetValue コマンドを使用して、SelectionList·を返します。
SelectionList は、現在選択されているすべてのオブジェクトを表すシーン項目名(文字列)をカンマで区切ったリストのことです。
Set キーワードを指定して任意の Softimage ネイティブ コマンドを使用すると、戻り値が自動的に本物のオブジェクトに変換されます。 この使い方は、たとえば Softimage オブジェクト名の文字列からオブジェクトのコレクションを作成するときに大変役立ちます。また、ワイルドカードを使用するときは特に便利です。
スクリプト処理を介して現在の選択対象に項目を追加したり、または現在の選択対象から項目を削除することができます。
エレメントまたはパラメータを選択するには、SelectObj コマンドを使用して対応する名前を指定します。たとえば以下のようになります。
SelectObj "Camera_Interest"
現在の選択対象に何かを追加するには、AddToSelection コマンドを使用します。
AddToSelection "Spot_Interest"
シーン内のカメラ、ライト、および 3D オブジェクトをすべて選択するには、以下のコマンドを使用します。
SelectAll現在の選択対象から何かを削除するには、RemoveFromSelection コマンドを使用します。
RemoveFromSelection "Scene.Scenecolors.litcol"
PickElement コマンドを使用して、スクリプト内で対話形式の選択セッションを起動できます。
以下の例では、PickElement を使用して、ユーザにプロパティの選択を要求します。戻される変数は、PickedElement、ButtonPressed 、および ModifierPressed です(Shift キーや Ctrl キーなど)。 ユーザが[Esc]キーを押すか右クリックして選択をキャンセルすると、ButtonPressed は 0 になります。
Dim PickedElement, ButtonPressed, ModifierPressed call PickElement( "property", "Select a property", "Select a property",_ PickedElement, ButtonPressed, ModifierPressed) if ButtonPressed <> 0 Then 'Test PickedElement to see if it's a property then 'Do something with PickedElement End if