Wavefront OBJ
Розширення файлу: | ..obj |
---|---|
MIME-тип: | text/plain |
Розробник: | Wavefront Technologies |
Тип формату: | 3D model format |
OBJ (або .OBJ) — формат файлу опису геометрії, вперше створений в Wavefront Technologies для їхнього анімаційного пакету Advanced Visualizer. Це відкритий файловий формат, який взяли були інші розробники 3d редакторів за стандарт.
Формат OBJ дуже простий, і задає тільки геометрію об'єкта, а якщо конкретно, то координати кожної вершини, її текстурні координати, нормалі, і грані, що задаються списками вершин багатокутників. Вершини багатокутників за замовчуванням задаються проти годинникової стрілки, роблячи явне задання нормалей необов'язковим.
Типовий файл OBJ виглядає приблизно так:
# це коментар
# Список вершин заданих координатами (x,y,z)
v 0.123 0.234 0.345
v ...
...
#Текстурні координати (u,v).
vt 0.500 -1.352
vt ...
...
#Нормалі (x,y,z); нормалі можуть бути не нормалізовані.
vn 0.707 0.000 0.707
vn ...
..
#Кожна грань задається множиною трьох індексів кожен з яких відповідає за вершину/текстуру/нормаль
#координати яких записані в списках вище
#Тому f 1/1/1 2/2/2 3/3/3 це трикутник, що має текстурні координати та нормалі для
#всіх трьох вершин
#ЗАУВАЖЕННЯ: Списки нумеруються починаючи з одиниці.
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3
f ...
# Чотирикутники, та інші многокутники задаються відповідною кількістю вершин
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 v4/vt4/vn4
f ...
...
# Можуть бути присутніми не усі можливі індекси, наприклад без нормалі
f v1/vt1 v2/vt2 v3/vt3 v4/vt4
# або без текстурних координат
f v1//vn1 v2//vn2 v3//vn3 v4//vn4
# або тільки індекси вершин
f v1 v2 v3 v4
# Матеріали, що описують візуальні аспекти моделі зберігаються в зовнішніх файлах .mtl
mtllib [external .mtl file name]
...
# Іменовані об'єкти, групи многокутників і матеріалів описуються такими тегами:
o [object name]
...
g [group name]
...
usemtl [material name]
...
# Ім'я матеріалу має збігатися з відповідним іменем матеріалу в файлі .mtl
# Кожен тег застосовується до всіх граней що йдуть після нього, поки не
# зустрінеться інший тег такого ж типу. Текстурні координати можуть не задаватись, якщо
# опис матеріалу не включає текстуру:
f v1//vn1 v2//vn2 v3//vn3
...
# Згладжування між гранями дозволяється через [[групи згладжування]]
s 1
...
# А також таке згладжування може бути вимкненим.
s off
...
Один файл OBJ може посилатись на кілька зовнішніх матеріалів.
Також підтримуються гладкі поверхні NURBS.
Програми що підтримують формат
- 3DPaintBrush
- 3D Studio Max
- Anim8or
- Art of Illusion
- Autodesk Mudbox
- Autodesk Softimage
- Ayam
- Blender
- CADdoctor
- Carrara
- Cheetah3D
- Cinema 4D
- CityEngine
- Curvy3D
- DAZ Studio
- EnSight (CEI)
- Feature Manipulation Engine
- FreeCAD
- Game Maker
- GLC Player
- SketchUp
- Hexagon
- Houdini
- Irrlicht Engine
- Lightwave
- Mathematica
- Maya
- modo
- MeshLab
- Misfit Model 3d
- Open Cobalt
- OpenCTM
- Poser
- Rhinoceros 3D
- Sweet Home 3D
- TransMagic
- TrueSpace
- VisIt
- Vue
- Wings 3D
- X-Plane Plane Maker
- ZBrush
Див. також
- PLY - формат файлу для зберігання даних отриманих з 3D-сканера
- 3DMLW це мова розмітки, що відображає файли OBJ крізь типові браузери (Internet Explorer, Mozilla Firefox, Opera)
- Material Template Library — формат файлів що зберігають матеріали
Посилання
- Специфікація Obj
- Специфікація Mtl
- Інструменти, бібліотеки, та приклади файлів [Архівовано 16 жовтня 2008 у Wayback Machine.]
Це незавершена стаття про комп'ютерну графіку. Ви можете допомогти проєкту, виправивши або дописавши її. |