SIGetPrimSpotLight

カテゴリ

primitive

詳細

スポット ライトのプリミティブを作成します。

注: このコマンドは、出力引数を使用します。 C# および一部のスクリプト言語(JScript、PerlScript、Python など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。

スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。

C# の場合は、XSIApplication.ExecuteCommand メソッドを使用してこのコマンドを呼び出すことができます。 ExecuteCommand は、出力引数を C# の System.Object (出力引数の配列を含む)にパック化します(詳細については、「C# からのコマンドの呼び出し」を参照)。

スクリプト構文

SIGetPrimSpotLight( PresetObj, [Name], [InterestName], [Parent], [3DObjSpot], [3DObjSpotInterest], [PrimObjSpot], [PrimObjSpotInterest] );

パラメータ

パラメータ タイプ 詳細
PresetObj 文字列 スポット ライトのプリセット(「ライト プリミティブ」を参照)。

指定可能な値:

説明:

Spot スポット プリセット
Name 文字列 ライトの名前
InterestName 文字列 注視点の名前
Parent 文字列 ライトの親オブジェクト
3DObjSpot ライト スポット ライト オブジェクトを戻します。
3DObjSpotInterest Null スポットの注視点を戻します。
PrimObjSpot Primitive スポット ライト プリミティブを戻します。
PrimObjSpotInterest Primitive 注視点のプリミティブを戻します。

JScript の例

/*
        This example demonstrates how to retrieve the output arguments through 
        the returned ISIVTCollection, by using their name with the Value property.
*/
NewScene( null, false );
// Get the output arguments via the ISIVTCollection
var rtn = SIGetPrimSpotLight( "Spot.Preset", "MySpotName", "MySpotInterestName" );
// With the ISIVTCollection, you can either get the items by index number using the Item
// property, or by output argument name by using the Value property, which is much clearer
// and faster to use
var o3DObjSpot = rtn.Value("3DObjSpot");
var o3DObjSpotInterest = rtn.Value("3DObjSpotInterest");
var oPrimObjSpot = rtn.Value("PrimObjSpot");
var oPrimObjSpotInterest = rtn.Value("PrimObjSpotInterest");
// For each object, find out its name and class, if possible
WhatAmI( o3DObjSpot );          //INFO : MySpotName is a Light
WhatAmI( o3DObjSpotInterest );  //INFO : MySpotInterestName is a Null
WhatAmI( oPrimObjSpot );                //INFO : MySpotName.light is a Primitive
WhatAmI( oPrimObjSpotInterest );        //INFO : MySpotInterestName.SpotInterest is a Primitive
// Convenience function
function WhatAmI( in_obj ) 
{
        // To prevent crashes, use the try...catch statement, because using ClassName 
        // on a simple data type (string, number, etc.) will throw an error
        try {
                LogMessage( in_obj + " is a " + ClassName(in_obj) );
        } catch (e) {
                LogMessage( "input object is a " + typeof(in_obj) );
        }
}

関連項目

GetPrimLight SIGetPrimLight