aspose.info
JA

USD - ユニバーサルシーン記述フォーマット

更新日

.USD ファイルとは何ですか?

拡張子が .usd のファイルは、デジタル コンテンツ作成アプリケーション間でデータを交換および拡張する目的でデータをエンコードするユニバーサル シーン記述ファイル形式です。 Pixar によって開発された USD は、要素アセット (モデルなど) またはアニメーションを交換する機能を提供します。

USDファイル形式

USD ファイルには、バイナリ形式 (クレート ファイルとも呼ばれます) または ASCII 形式のファイルを使用できます。これらのファイル形式は両方とも交換可能で、ソースを変更せずに参照を .usd アセットにリンクできます。 USD ファイル形式は、スクリプト作成用の Python バインディングを備えた一連の C++ ライブラリで構成されています。仮想セット、シーン、ショットなどの任意の数の 3D シーン要素を組み立てて編成し、それらをアプリケーションからアプリケーションに送信できます。

米ドルのデータ型

USD ファイル形式でサポートされている基本的なデータ型を次の表に示します。

値型トークンC++ 型説明
ブールブール
ucharuint8_t8 ビット符号なし整数
intint32_t32 ビット符号付き整数
uintuint32_t32 ビット符号なし整数
int64int64_t64 ビット符号付き整数
uint64uint64_t64 ビット符号なし整数
halfGfHalf16 ビット浮動小数点
floatfloat32 ビット浮動小数点
doubledouble64 ビット浮動小数点
タイムコードSdfTimeCode解決可能な時間を表す double
文字列std::文字列stl文字列
tokenTfTokenインターンされた文字列を高速比較とハッシュ化
assetSdfAssetPath別のアセットへの解決可能なパスを表します
matrix2dGfMatrix2d倍精度の 2x2 行列
matrix3dGfMatrix3d倍精度の 3x3 行列
matrix4dGfMatrix4d倍精度の 4x4 行列
quatdGfQuatd倍精度クォータニオン
quatfGfQuatf単精度クォータニオン
quathGfQuath半精度クォータニオン
double2GfVec2d2 つの double のベクトル
float2GfVec2f2 float のベクトル
half2GfVec2h2 つの半分のベクトル
int2GfVec2i2 つの整数のベクトル
double3GfVec3d3 つの double のベクトル
float3GfVec3f3 つの float のベクトル
half3GfVec3h3 つの半分のベクトル
int3GfVec3i3 つの整数のベクトル
double4GfVec4d4 つの double のベクトル
float4GfVec4f4 つのフロートのベクトル
half4GfVec4h4 つの半分のベクトル
int4GfVec4i4 つの整数のベクトル

米ドルの例

プレーン ASCII ファイル形式の USD ファイルの例は次のとおりです。

#usda 1.0

class "_class_Planet"
{
    bool has_life = False
}

def Xform "SolarSystem"
{
    def "Earth" (
        references = @./planet.usda@</Planet>
    )
    {
        bool has_life = True
        string color = "blue"
}

    def "Mars" (
        references = @./planet.usda@</Planet>
    )
    {
        string color = "red"
}

    def "Saturn" (
        references = @./planet.usda@</Planet>
        variants = {
            string rings = "with_rings"
    }
    )
    {
        string color = "beige"
}
}
#usda 1.0

class "_class_Planet"
{
}

def Sphere "Planet" (
    inherits = </_class_Planet>
    kind = "model"
    variantSets = "rings"
    variants = {
        string rings = "none"
}
)
{
    variantSet "rings" = {
        "none" {
            bool has_rings = False
    }
        "with_rings" {
            bool has_rings = True
    }
}

}

参照

関連項目