aspose.info
PL

USD - uniwersalny format opisu sceny

Zaktualizowano

Czym jest plik USD?

Plik z rozszerzeniem .usd to format pliku Universal Scene Description, który koduje dane w celu wymiany i rozszerzania danych między aplikacjami do tworzenia treści cyfrowych. Opracowana przez firmę Pixar usługa USD umożliwia wymianę podstawowych zasobów (takich jak modele) lub animacji.

Format pliku USD

Pliki USD mogą mieć format binarny (znany również jako pliki Crate) lub pliki z obsługą ASCII. Oba te formaty plików są wymienne, a odniesienia można łączyć z zasobami .usd bez zmiany źródeł. Format pliku USD składa się z zestawu bibliotek C++ z powiązaniami Pythona do skryptowania. Umożliwia składanie i porządkowanie dowolnej liczby elementów sceny 3D, takich jak wirtualne plany zdjęciowe, sceny i ujęcia w celu przesyłania ich z aplikacji do aplikacji.

Typy danych USD

Podstawowe typy danych obsługiwane przez format pliku USD są wymienione w poniższej tabeli.

Token typu wartościTyp C++Opis
boolbool
ucharuint8_t8-bitowa liczba całkowita bez znaku
intint32_t32-bitowa liczba całkowita ze znakiem
uintuint32_t32-bitowa liczba całkowita bez znaku
int64int64_t64-bitowa liczba całkowita ze znakiem
uint64uint64_t64-bitowa liczba całkowita bez znaku
halfGfHalf16 bitów zmiennoprzecinkowych
floatfloat32 bity zmiennoprzecinkowe
podwójnepodwójne64 bity zmiennoprzecinkowe
timecodeSdfTimeCodepodwójna reprezentacja czasu, który można rozwiązać
stringstd::stringstl string
tokenTfTokenciąg znaków internowany z szybkim porównaniem i haszowaniem
zasóbSdfAssetPathreprezentuje możliwą do rozwiązania ścieżkę do innego zasobu
macierz2dGfMatrix2dmacierz podwójnych 2x2
matrix3dGfMatrix3dmacierz podwójnych 3x3
macierz4dGfMatrix4dmacierz podwójnych 4x4
quatdGfQuatdkwaternion podwójnej precyzji
quatfGfQuatfkwaternion pojedynczej precyzji
quathGfQuathkwaternion o połowie precyzji
podwójne2GfVec2dwektor 2 podwójnych
float2GfVec2fwektor 2 pływaków
half2GfVec2hwektor 2 połówek
int2GfVec2iwektor 2 int
podwójne3GfVec3dwektor 3 podwójnych
float3GfVec3fwektor 3 pływaków
half3GfVec3hwektor 3 połówek
int3GfVec3iwektor 3 int
podwójne4GfVec4dwektor 4 podwójnych
float4GfVec4fwektor 4 pływaków
half4GfVec4hwektor 4 połówek
int4GfVec4iwektor 4 int

Przykład USD

Przykład pliku USD w zwykłym formacie pliku ASCII jest następujący.

#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
    }
}

}

Bibliografia

Zobacz też