Обрабатываете несколько примитивных элементов внутри сетки glTF2? - PullRequest
0 голосов
/ 09 мая 2019

Я занимаюсь разработкой небольшого приложения с использованием OpenGL ES и библиотеки загрузчика ссылок glTF (c #) для проекта Visual Studio на базе Xamarin для Android.

Сейчас я пытаюсь построить собственную структуру классов для организации данных моделей. Я прочитал спецификации, и урок скинов был очень полезен, но теперь у меня есть вопрос, касающийся массива мешей и скинов:

Вопрос:

Это отрывок из раздела кожи модели:

"skins" : [
    {
        "inverseBindMatrices" : 115,
        "joints" : [
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46
        ],
        "skeleton" : 0
    },

Вся модель имеет 5 ячеек (с несколькими примитивами) и несколько костей / суставов. Однако количество элементов скинов в файле glTF намного выше 5! Как это может быть?! Я думал, что для каждой сетки, контролируемой арматурой, есть скин? Почему так много больше 5? Это из-за множества примитивов? Но почему так много inverseBindMatrices?

Мне кажется, что есть много подводных камней для такого новичка, как я. Уроки являются хорошей отправной точкой, но примеры, показанные там, настолько минималистичны, что все легко. Однако реальные модели, взятые с любого веб-сайта, намного сложнее, чем этот.

Может быть, кто-то может мне помочь?

P.S .: Модель, о которой я говорю, может быть найдена в Dropbox ссылка на файл glTF

...