aspose.info
EL

USD - Universal Scene Description Format

Ενημερώθηκε

Τι είναι ένα αρχείο USD;

Ένα αρχείο με επέκταση .usd είναι μια μορφή αρχείου Universal Scene Description που κωδικοποιεί δεδομένα με σκοπό την ανταλλαγή και την αύξηση δεδομένων μεταξύ εφαρμογών δημιουργίας ψηφιακού περιεχομένου. Αναπτύχθηκε από την Pixar, το USD παρέχει τη δυνατότητα ανταλλαγής στοιχειωδών στοιχείων (όπως μοντέλα) ή κινούμενων εικόνων.

Μορφή αρχείου USD

Τα αρχεία USD μπορεί να έχουν δυαδική μορφή (γνωστά και ως αρχεία Crate) ή αρχεία με υποστήριξη ASCII. Και οι δύο αυτές μορφές αρχείων είναι εναλλάξιμες όπου οι αναφορές μπορούν να συνδεθούν με στοιχεία .usd χωρίς αλλαγή των πηγών. Η μορφή αρχείου USD αποτελείται από ένα σύνολο βιβλιοθηκών C++ με δεσμεύσεις Python για δέσμες ενεργειών. Επιτρέπει τη συναρμολόγηση και την οργάνωση οποιουδήποτε αριθμού στοιχείων τρισδιάστατης σκηνής, όπως εικονικά σκηνικά, σκηνές και λήψεις για τη μετάδοσή τους από εφαρμογή σε εφαρμογή.

Τύποι δεδομένων USD

Οι βασικοί τύποι δεδομένων που υποστηρίζονται από τη μορφή αρχείου USD παρατίθενται στον παρακάτω πίνακα.

Διακριτικό τύπου τιμήςΤύπος C++Περιγραφή
μπουλμπουλ
ucharuint8_t8 bit ανυπόγραφος ακέραιος
intint32_t32 bit ακέραιος αριθμός
uintuint32_t32 bit ανυπόγραφος ακέραιος
int64int64_t64 bit ακέραιος αριθμός
uint64uint64_t64 bit ανυπόγραφος ακέραιος
μισόGfHalf16 bit κινητής υποδιαστολής
floatfloat32 bit κινητής υποδιαστολής
διπλόδιπλό64 bit κινητής υποδιαστολής
timecodeSdfTimeCodeδιπλό που αντιπροσωπεύει έναν επιλύσιμο χρόνο
stringstd::stringstl string
tokenTfTokenενσωματωμένη συμβολοσειρά με γρήγορη σύγκριση και κατακερματισμό
assetSdfAssetPathαντιπροσωπεύει μια επιλύσιμη διαδρομή προς ένα άλλο στοιχείο
matrix2dGfMatrix2d2x2 matrix των διπλών
matrix3dGfMatrix3d3x3 μήτρα διπλών
matrix4dGfMatrix4d4x4 μήτρα διπλών
quatdGfQuatdτεταρτοταγές διπλής ακρίβειας
quatfGfQuatfτεταρτοταγή απλής ακρίβειας
quathGfQuathτεταρτοταγή μισής ακρίβειας
double2GfVec2dδιάνυσμα 2 διπλών
float2GfVec2fδιάνυσμα 2 float
half2GfVec2hδιάνυσμα 2 μισών
int2GfVec2iδιάνυσμα 2 ιντσών
double3GfVec3dδιάνυσμα 3 διπλών
float3GfVec3fδιάνυσμα 3 float
half3GfVec3hδιάνυσμα 3 μισών
int3GfVec3iδιάνυσμα 3 ιντσών
double4GfVec4dδιάνυσμα 4 διπλών
float4GfVec4fδιάνυσμα 4 float
half4GfVec4hδιάνυσμα 4 μισών
int4GfVec4iδιάνυσμα 4 ιντσών

Παράδειγμα USD

Ένα παράδειγμα αρχείου USD σε απλή μορφή αρχείου ASCII είναι το ακόλουθο.

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

}

Βιβλιογραφικές αναφορές

Δείτε επίσης