Я недавно окунулся в DirectX и немного поэкспериментировал с Anim8or и обнаружил несколько типов файлов, в которые можно экспортировать модели, основанные на тексте. Я особенно взял к файлам VTX. Я научился разбирать некоторые основы, но, очевидно, мне не хватает нескольких вещей.
Он начинается с .Faceset
с немедленно (в той же строке), за которым следует число ячеек в файле.
Для каждой сетки есть одна секция .Vertex
и одна секция .Index
в этом порядке, и первая пара секций .Vertex
/ .Index
является первой сеткой, вторая группа - второй сеткой и т. Д. как и следовало ожидать.
В разделе .Vertex
файла имеется 8 чисел в строке и неопределенное количество строк (если только вы не хотите доверять комментариям, которые Anim8or поместил непосредственно перед разделом, но это, похоже, не является частью спецификации файла, просто Anim8 или добрый). Первые 3 числа соответствуют координатам X, Y и Z для конкретной точки, которая позже будет использоваться в качестве вершины, остальные 5 я понятия не имею. В большинстве случаев последние 2 цифры равны 0, но я заметил, что это НЕ ВСЕГДА верно, просто обычно верно.
Далее идет соответствующий раздел .Index
. В этом разделе 4 номера. Первые 3 являются ссылочными номерами к ранее указанным вершинам, а 3 точки обозначают треугольник в модели. 0 означает первую упомянутую вершину, 1 означает следующую и т. Д., Как массив с нулями. Кажется, что четвертое число всегда равно -1, я не могу понять, какое это имеет значение, и я не могу обещать, что это ВСЕГДА -1. Если вы не можете сказать, я не слишком уверен в этом типе файла.
В файле есть и другая информация, которую я сейчас предпочитаю игнорировать, потому что я новичок и не хочу слишком усложнять вещи. Например, после каждого .Index
раздела:
.Brdf
// Ambient color
0.431 0.431 0.431
// Diffuse color
0.431 0.431 0.431
// Specular color and exponent
1 1 1 2
// Kspecular = 0.5
// end of .Brdf
Мне кажется, что речь идет о только что описанной поверхности сетки. Но он не нужен для размещения мешей, поэтому я перешел мимо него.
Переходя к реальной проблеме ... Я могу загрузить файл VTX, когда в файле VTX есть только одна сетка (то есть .FaceSet
равно 1). Я могу почти успешно загрузить файл VTX с несколькими сетками, каждая сетка успешно структурирована, но неправильно размещена по отношению к другим сеткам. Я загрузил модель AT-AT из ветки Anim8or на форуме, и она состоит из 344 мешей, когда я загружаю файл, используя только те характеристики, которые я упомянул до сих пор, похоже, что AT-AT взорван, как будто это была схема того, как это сделать (при загрузке в Anim8or все части находятся рядом и напоминают полностью собранный AT-AT). Все части ориентированы правильно и имеют одинаковое направление вверх, но между деталями достаточно места.
Кто-нибудь знает, как правильно читать файл VTX? Или знаете сайт, который объяснит, что означают эти цифры?
Edit:
Расширение файла .VTX используется для множества разных вещей и имеет много разных структур в зависимости от предполагаемого использования. Valve, Visio, Anim8or и некоторые другие используют VTX, меня интересует только файл VTX, который экспортирует Anim8or, и используемая им структура.