Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

D Studio text file format

D Studio mesh file format

Расширение: 3DS.

Среда: от 3D Studio R4, до последней версий 3DS MAX.

Пример иерархии блоков и подблоков в файле:

БЛОКИ ID БЛОКА Комментарий

CHUNK_MAIN = 0x4D4D; // [-] сцена CHUNK_OBJMESH = 0x3D3D; // [-] полигон. объекты CHUNK_OBJBLOCK = 0x4000; // [+] объект CHUNK_TRIMESH = 0x4100; // [-] trimesh-объект CHUNK_VERTLIST = 0x4110; // [+] список вершин CHUNK_FACELIST = 0x4120; // [+] список граней CHUNK_FACEMAT = 0x4130; // [+] материалы граней CHUNK_MAPLIST = 0x4140; // [+] текстурные координаты CHUNK_TRMATRIX = 0x4160; // [+] матрица перевода CHUNK_CAMERA = 0x4700; // [+] объект-камера CHUNK_MATERIAL = 0xAFFF; // [-] материал CHUNK_MATNAME = 0xA000; // [+] название материала CHUNK_TEXTURE = 0xA200; // [-] текстура материала CHUNK_MAPFILE = 0xA300; // [+] имя файла текстуры HUNK_KEYFRAMER = 0xB000; // [-] информация об анимации CHUNK_TRACKINFO = 0xB002; // [-] поведение объекта CHUNK_TRACKOBJNAME = 0xB010; // [+] название этого объекта CHUNK_TRACKPIVOT = 0xB013; // [+] центр вращения объекта CHUNK_TRACKPOS = 0xB020; // [+] траектория объекта CHUNK_TRACKROTATE = 0xB021; // [+] траектория вращения // объекта CHUNK_TRACKCAMERA = 0xB003; // [-] поведение камеры CHUNK_TRACKFOV = 0xB023; // [+] поведение FOV камеры CHUNK_TRACKROLL = 0xB024; // [+] поведение roll камеры CHUNK_TRACKCAMTGT = 0xB004; // [-] поведение "цели" камеры

 

Конкретные данные содержат лишь блоки, отмеченные [+], остальные блоки состоят лишь из подблоков. Например, блок CHUNK_OBJMESH необходимо различать из-за того, что каждый объект в сцене описывается блоком CHUNK_OBJBLOCK, который появляется только как подблок CHUNK_OBJMESH, и просто игнорировать весь CHUNK_OBJMESH из-за этого нельзя. Кроме того, они задают структуру - например, все данные, что относятся к текущему блоку CHUNK_OBJBLOCK, относятся к текущему объекту, а подблоки этого блока уже могут быть расположены как угодно.

Общий формат каждого блока такой:

смещение длина данные
    идентификатор типа блока, chunk_id
    длина блока, chunk_len
  chunk_len данные или подблоки (в зависимости от chunk_id)

 

Содержащиеся в блоках данные могут быть описаны следующем образом (на примере списка вершин и граней):

Блок: CHUNK_VERTLIST
Данные: список вершин текущего объекта
Формат: word num; // число вершин vector vertices[num]; //(x,z,y) координаты каждой из вершин
Блок: CHUNK_FACELIST
Данные: список граней текущего объекта
Формат: word num; // число граней struct { // word v0; // номер первой вершины грани word v1; // номер второй вершины грани word v2; // номер третьей вершины грани word flags; // флаги грани } faces[num]; // собственно список граней

 

 

Расширение: ASE.

Среда: от 3D Studio R4, до последней версий 3DS MAX.

Пример сцены, содержащей данные о камере и параллелепипеде в 3DSMAX:

 

 

Вид файла ASE:

*3DSMAX_ASCIIEXPORT 200

*COMMENT "AsciiExport Version 2,00 - Mon Oct 10 11:45:45 2005"

*SCENE {

*SCENE_FILENAME ""

.............

}

*MATERIAL_LIST {

*MATERIAL_COUNT 0

}

*GEOMOBJECT {

*NODE_NAME "Box01"

*NODE_TM {

*NODE_NAME "Box01"

*INHERIT_POS 0 0 0

*INHERIT_ROT 0 0 0

*INHERIT_SCL 0 0 0

...........................

}

*MESH {

*TIMEVALUE 0

*MESH_NUMVERTEX 8

*MESH_NUMFACES 12

*MESH_VERTEX_LIST {

*MESH_VERTEX 0 -23.6689 -36.9898 0.0000

.............................................

}

*MESH_FACE_LIST {

*MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 1

...............................................................

}

*MESH_NUMTVERTEX 12

*MESH_TVERTLIST {

*MESH_TVERT 0 0.0000 0.0000 0.0000

........................................

}

*MESH_NUMTVFACES 12

*MESH_TFACELIST {

*MESH_TFACE 0 9 11 10

............................

}

*MESH_NUMCVERTEX 0

*MESH_NORMALS {

*MESH_FACENORMAL 0 0.0000 0.0000 -1.0000

*MESH_VERTEXNORMAL 0 0.0000 0.0000 -1.0000

*MESH_VERTEXNORMAL 2 0.0000 0.0000 -1.0000

*MESH_VERTEXNORMAL 3 0.0000 0.0000 -1.0000

...............................................

}

}

..................................

}

*CAMERAOBJECT {

*NODE_NAME "Camera01"

*CAMERA_TYPE Target

*NODE_TM {

.............................

}

*NODE_TM {

*NODE_NAME "Camera01.Target"

.............................

}

*CAMERA_SETTINGS {

.............................

}

}

<== предыдущая лекция | следующая лекция ==>
Введение в макроэкономику. Национальная экономика. Макроэкономические показатели | Stereo lithography file format
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 529; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.