SOFTIMAGE|3D のユーザ データを読み込む

 
 
 

ユーザ データを SI|3D から Autodesk Softimage に読み込むには特定の制限があります。 特に、Softimage では、ユーザ データをモデル、マテリアル、テクスチャ、カメラなどからではなく、コンポーネント(頂点、ポリゴン、およびポリゴン メッシュのエッジに割り当てられたブロブ)から読み込むことができます。このコンポーネントは、SI|3D では「サブエレメント」と呼ばれます。

SI|3D から読み込むときのいくつかの注意点は、SI3D のユーザ データが Softimage のコンポーネント ユーザ データにどのように割り当てられているかに関係しています。

Softimage が SI3D のコンポーネント ユーザ データを解釈する方法

SI|3D シーンを Softimage にロードすると、シーン内のすべてのユーザ データに対して完全なクラスタが作成されます。 古いシーン内のユーザ データが格納されたコンポーネントのタイプによって、作成されるクラスタのタイプが判別されます。 これらのクラスタの名前は、それぞれのタイプに従って付けられます。

  • SI3DUserDataPolyCls: ポリゴンで検出されたユーザ データ

  • SI3DUserDataEdgeCls: エッジで検出されたユーザ データ

  • SI3DUserDataPntCls: 頂点で検出されたユーザ データ

    注:

    クラスタは関連するコンポーネント タイプのデータが実際に存在する場合にのみ作成されます。

データは任意の長さを持つことができ、同じ UserDataMap 内に可変長のデータが含まれています。 実際のユーザ データは、検出されると正確にコピーされます。

Softimage は、コンテンツを解釈しないため、SI|3D シーンから作成されたユーザ データ マップに関連付けられるテンプレートはありません。 このデータの形式は不明であるため、プラグイン開発者は独自の UI を記述する必要があります。

SI3D と Softimage のその他の相違点

Tag > UserDataMap.Name

SI3D では、タグの概念を使用してユーザ データの各部分を識別します。 SI3D でユーザ データにアクセスする場合は、タグを使用してユーザ データの一部を指定します。 タグによって、複数のブロブを同じエレメントに割り当てることができます。 SI3D のユーザ データを Softimage にロードすると、これらのタグは関連する UserDataMap オブジェクトの Name プロパティに記述されます。

bigendian > LittleEndian

バイト オーダーが異なるプラットフォーム(MIPS プロセッサ対 x86 プロセッサ)間でバイナリ データを含むシーンを転送する場合、プラグイン開発者は、データのバイト スワップを実行するかどうかを判別する際に役立つ bigendian フラグ(SI3D)と LittleEndian フラグを使用してプラグインを記述できます。

SI3D 内の bigendian パラメータは、BLOB ごとにユーザデータのバイトオーダを指定します(ビッグエンディアンは TRUE、リトルエンディアンは FALSE)。Softimage では、この情報は読み込まれ、UserDataMap.LittleEndian プロパティに保存されます。

注:

Autodesk Softimage では、LittleEndian フラグがユーザ データ マップでのみ設定されるため、ユーザ データ アイテムのバイト オーダー フラグはありません。これは、個々のサブコンポーネントが独自のフラグを持つことができた SI3D での bigendian パラメータの使用方法とは異なります。