aspose.info
KO

USD - 범용 장면 설명 형식

업데이트

.USD 파일이란?

확장자가 .usd인 파일은 디지털 콘텐츠 생성 응용 프로그램 간에 데이터를 교환하고 보강할 목적으로 데이터를 인코딩하는 범용 장면 설명 파일 형식입니다. Pixar에서 개발한 USD는 기본 자산(예: 모델) 또는 애니메이션을 교환하는 기능을 제공합니다.

USD 파일 형식

USD 파일은 바이너리 형식(Crate 파일이라고도 함) 또는 ASCII 지원 파일일 수 있습니다. 이 두 파일 형식은 소스를 변경하지 않고 참조를 .usd 자산에 연결할 수 있는 곳에서 서로 바꿔 사용할 수 있습니다. USD 파일 형식은 스크립팅을 위한 Python 바인딩이 포함된 C++ 라이브러리 세트로 구성됩니다. 가상 세트, 장면 및 샷과 같은 3D 장면 요소의 수에 관계없이 조립 및 구성하여 응용 프로그램에서 응용 프로그램으로 전송할 수 있습니다.

USD 데이터 유형

USD 파일 형식에서 지원하는 기본 데이터 유형은 다음 표에 나열되어 있습니다.

값 유형 토큰C++ 유형설명
불불불
ucharuint8_t8비트 부호 없는 정수
intint32_t32비트 부호 있는 정수
uintuint32_t32비트 부호 없는 정수
int64int64_t64비트 부호 있는 정수
uint64uint64_t64비트 부호 없는 정수
halfGfHalf16비트 부동 소수점
floatfloat32비트 부동 소수점
이중이중64비트 부동 소수점
timecodeSdfTimeCode결정 가능한 시간을 나타내는 double
문자열표준::문자열표준 문자열
tokenTfToken빠른 비교 및 해싱이 포함된 인턴 문자열
assetSdfAssetPath다른 자산에 대한 해석 가능한 경로를 나타냄
matrix2dGfMatrix2d2x2 2배 행렬
matrix3dGfMatrix3d2배의 3x3 행렬
matrix4dGfMatrix4d2배의 4x4 행렬
quatdGfQuatd배정밀도 쿼터니언
quatfGfQuatf단정밀도 쿼터니언
quathGfQuath절반 정밀도 쿼터니언
double2GfVec2d2배의 벡터
float2GfVec2f2개의 부동 소수점 벡터
half2GfVec2h2개의 절반의 벡터
int2GfVec2i2 정수의 벡터
double3GfVec3d배수 3개의 벡터
float3GfVec3f3개의 부동 소수점 벡터
half3GfVec3h하프 3의 벡터
int3GfVec3i3개의 정수로 구성된 벡터
double4GfVec4d4배의 벡터
float4GfVec4f4개의 부동 소수점 벡터
half4GfVec4h하프 4개의 벡터
int4GfVec4i4 정수의 벡터

USD 예

일반 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
    }
}

}

참조

함께 보기