Czym jest plik DEA?
Plik DAE to format pliku Digital Asset Exchange, który służy do wymiany danych między interaktywnymi aplikacjami 3D. Ten format pliku jest oparty na schemacie XML COLLADA (COLLAborative Design Activity), który jest otwartym standardowym schematem XML do wymiany zasobów cyfrowych między aplikacjami graficznymi. Został przyjęty przez ISO jako publicznie dostępna specyfikacja, ISO/pAS 17506. Pliki DAE można otwierać w aplikacjach, takich jak Adobe Photoshop, AutoDesk Maya, AutoDesk AutoCAD i interfejsach API, takich jak Aspose.CAD.
Format pliku DAE
Format pliku DAE jest oparty na schemacie XML COLLADA, w którym wszystkie elementy są zdefiniowane jako znaczniki XML. Umożliwia łączenie różnych narzędzi do przetwarzania DCC i 3D w potok produkcyjny zasobów 3D. Posiada kompleksowe kodowanie scen wizualnych, w tym geometrię, animację, shadery i fizykę. Format jest otwarty, archiwalny i zachowuje metainformacje.
Tagi COLLADA
Znacznik schematu COLLADA jest pokazany poniżej.
<?xml version="1.0"?>
<COLLADA
xmlns="http://www.collada.org/2005/11/COLLADASchema"
version="1.4.1"
>
...
</COLLADA>
Etykieta zasobu
Etykieta zasobu opisuje autora i środowisko pliku
<asset>
<author>alorino</author>
<up_axis>Y_UP</up_axis>
</asset>
Biblioteka aparatu
Zasoby COLLADA są zawarte w bibliotekach. Biblioteka aparatów zawiera, co nie jest zaskoczeniem, aparaty. Typowe kamery są perspektywiczne lub prostopadłe. Znacznik biblioteki kamery jest zdefiniowany w następujący sposób.
<library_cameras>
<camera id="PerspCamera" name="PerspCamera">
<optics>
<technique_common>
<perspective>
<yfov>37.8493</yfov>
<aspect_ratio>1</aspect_ratio>
<znear>10</znear>
<zfar>1000</zfar>
</perspective>
</technique_common>
</optics>
</camera>
</library_cameras>
Światła
Typowe światła to punktowe, punktowe lub kierunkowe
<library_lights>
</light>
<light id="pointLightShape1-lib" name="pointLightShape1">
<technique_common>
<point>
<color>1 1 1 </color>
<constant_attenuation>1</constant_attenuation>
<linear_attenuation>0</linear_attenuation>
<quadratic_attenuation>0</quadratic_attenuation>
</point>
</technique_common>
</light>
</library_lights>
Instancja materiałów
Efekty wystąpienia materiałów są zdefiniowane w następujący sposób.
<library_materials>
<material id="Blue" name="Blue">
<instance_effect url="#Blue-fx"/>
</material>
</library_materials>
Typowe efekty
Typowe efekty działają jak stan OpenGL 1 i można je zdefiniować w następujący sposób.
<library_effects>
<effect id="Blue-fx">
<profile_COMMON>
<technique sid="common">
<phong>
<emission>
<color>0 0 0 1 </color>
</emission>
...
<index_of_refraction>
<float>0</float>
</index_of_refraction>
</phong>
</technique>
</profile_COMMON>
</effect>
</library_effects>
Atrybuty geometrii
Geometria opisuje atrybuty OpenGL i jest zdefiniowana w następujący sposób.
<library_geometries>
<geometry id="box-lib" name="box">
<mesh>
<source id="box-lib-positions" name="position">
</source>
<source id="box-lib-normals" name="normal">
</source>
...
<vertices id="box-lib-vertices">
<input semantic="POSITION" source="#box-lib-positions"/>
</vertices>
<polylist count="6" material="BlueSG">
<input offset="0" semantic="VERTEX" source="#box-lib-vertices"/>
<input offset="1" semantic="NORMAL" source="#box-lib-normals"/>
<vcount>4 4 4 4 4 4 </vcount>
<p>0 0 2 1 3 2 1 3 0 4 1 5 5 6 4 7 ...</p>
</polylist>
</mesh>
</geometry>
</library_geometries>
Sceny wizualne
Sceny wizualne są podobne do scen jedności i zawierają następującą hierarchię węzłów.
<library_visual_scenes>
<visual_scene id="VisualSceneNode" name="untitled">
<node id="Camera" name="Camera">
</node>
...
</visual_scene>
</library_visual_scenes>