文字列式は、シーン項目を識別する方法としてスクリプト コマンドで使用される場合がほとんどです。一方、オブジェクト ポインタは、オブジェクト モデルに優先的に使用されるタイプの変数です。
' Get a pointer to the camera set c = ActiveSceneRoot.FindChild( "Camera" ) ' We can save the name of the object as a string in different ways ' Object -> String Expression s1 = GetValue( c ) s2 = c.Name ' As can converting the object's name to an object pointer ' String Expression -> Object set o1 = GetValue( s1 ) set o2 = Dictionary.GetObject( s2 ) LogMessage "c = " & TypeName(c) LogMessage "s1 = " & TypeName(s1) LogMessage "s2 = " & TypeName(s2) LogMessage "o1 = " & TypeName(o1) LogMessage "o2 = " & TypeName(o2) 'INFO : c = Camera 'INFO : s1 = String 'INFO : s2 = String 'INFO : o1 = Camera 'INFO : o2 = Camera
文字列式とオブジェクト ポインタの間の変換は、Softimage SDK では簡単に実行できますが、パフォーマンスが低下することがあり、一般的に必要な処理ではありません。 たとえば、入力として文字列式を取るスクリプト コマンドを使用してシーン エレメントを識別したい場合は、オブジェクト ポインタを文字列に変換する必要はありません。ほとんどの単純なオブジェクト上の既定プロパティは Name (SIObject) * プロパティであるため、オブジェクト ポインタをコマンドに渡せばよいのです。