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 でユーザ データにアクセスする場合は、タグを使用してユーザ データの一部を指定します。 タグによって、複数のブロブを同じエレメントに割り当てることができます。 Softimage に SI3D ユーザ データをロードすると、これらのタグ名は Name プロパティ(関連の UserDataMap オブジェクトに属する)に書き込まれます。

bigendian > LittleEndian

バイナリ データを含むシーンをバイト オーダーが異なるプラットフォーム(MIPS と x86 プロセッサ)間で転送する場合、プラグイン開発者は、bigendian(SI3D)および LittleEndian フラグを使用するプラグインを作成できます。このプラグインは、データをバイトスワップするかどうかを決定する際に役立ちます。

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

注:

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