我想了解collada文件的结构。具体地说,我正在使用库pycollada(https://github.com/pycollada/pycollada)。我有两个问题。在
问题1:
看一下从零开始创建文件的教程(http://pycollada.github.io/creating.html),我不明白Collada对象的结构。特别是,查看以下代码行,似乎网格用于创建几何体,并且几何体包含在网格中:
>>> mesh = Collada()
>>> geom = geometry.Geometry(mesh, "geometry0", "mycube", [vert_src, normal_src])
后面几行
^{pr2}$有人有一个清晰的Collada文件结构?可能是一种视觉表现来理解什么是在哪里。在
问题2:
如果我想要两个不同的对象(这里我指的是Collada文件中的两个不同的3D对象,例如立方体和球体),我应该在哪里添加第二个对象?是网格内部的第二个几何体对象,还是几何体内部的第二个三角形集,或者是以不同的方式定义的?在
COLLADA中的
<geometry>
元素是描述几何图形的信息的容器。创建数字资源时,可能存在三维对象的表示形式。而多边形网格只是这些表示方法中的一种。另一种可能是<brep>
。在基于多边形的几何描述作为}。在
<mesh>
元素的子元素包含在<geometry>
下。这些元素是<lines>
,<linestrips>
,<polygons>
,<polylists>
,<triangles>
,<trifans>
和{所以结构看起来像:我有一个
<geometry>
->;哪种?->;即<mesh>
->;包含哪些基于多边形的几何图形?->;即<triangles>
让我向您展示COLLADA中几何体的内部结构:您可以使用
<float_array>
在<source>
元素中定义点在三维空间中的位置,并在<triangles>
下定义<p>
元素下的索引。<p>
元素不仅定义了顶点,而且定义了法线。在对于第二个问题,可以将其定义为几何图形库中的第二个
<geometry>
,或元素下网格的一部分。但是,如果以后必须将它们分开使用,例如要创建两个立方体实例,一个是绿色的,另一个是蓝色的,还有一个是球体的实例,则不应在同一网格下进行。应该将它们定义为两个分离的几何体对象。这取决于你的情况。在相关问题 更多 >
编程相关推荐