Python Collada(*.dae)文件结构和Pycollada
我试图理解collada文件的结构。具体来说,我使用的是pycollada()库。我有两个问题 问题1: 看看从头开始创建文件的教程(),我不了解Collada对象的结构。特别是,查看以下代码行似乎可以使用网格创建几何体,并且几何体包含在网格中:Python Collada(*.dae)文件结构和Pycollada,python,graphics,rendering,collada,3d-modelling,Python,Graphics,Rendering,Collada,3d Modelling,我试图理解collada文件的结构。具体来说,我使用的是pycollada()库。我有两个问题 问题1: 看看从头开始创建文件的教程(),我不了解Collada对象的结构。特别是,查看以下代码行似乎可以使用网格创建几何体,并且几何体包含在网格中: >>> mesh = Collada() >>> geom = geometry.Geometry(mesh, "geometry0", "mycube", [vert_src, normal_src]) 几行之后
>>> mesh = Collada()
>>> geom = geometry.Geometry(mesh, "geometry0", "mycube", [vert_src, normal_src])
几行之后
>>> triset = geom.createTriangleSet(indices, input_list, "materialref")
>>> geom.primitives.append(triset)
>>> mesh.geometries.append(geom)
有人有清晰的Collada文件结构吗?可能是一个视觉表现,以了解什么是在哪里
问题2:
如果我想有两个不同的对象(这里我指的是Collada文件中的两个不同3D对象,例如立方体和球体),我应该在哪里添加第二个?网格中是否有第二个几何体对象,或者几何体中是否有第二个三角形集,或者是以不同的方式定义的?COLLADA中的
元素是描述几何图形的信息容器。创建数字资源时,可能存在三维对象的表示形式。多边形网格只是这些表示方法中的一种。另一种可能是,例如
基于多边形的几何图形描述作为
元素的子元素包含在
下。这些元素是
,
,
,
,
,
和
所以结构看起来像:我有一个
->哪种?->i、 e.
->包含哪些基于多边形的几何体?->i、 e.
让我向您展示COLLADA中几何体的内部结构:
您可以使用
在
元素中定义点在三维空间中的位置,并在
元素下定义索引
元素不仅定义了该示例中的顶点,还定义了法线
对于第二个问题,可以将其定义为几何图形库中的第二个
,或元素下网格的一部分。但是,如果以后必须将它们彼此分开使用,例如,要创建两个立方体实例,一个是绿色的,另一个是蓝色的,以及一个球体实例,则不应在同一网格下执行此操作。应将它们定义为两个分离的几何体对象。这取决于您的情况。您能解释一下浮点数组的内容吗?为什么它的hve60
计数以及它们代表什么?另外,
标记之间的数字代表什么?@VivekBagaria再次澄清,浮点数组(在本文中)定义了点在三维空间中的位置,即点的X、Y、Z值。60是点数。在本例中,第一个点的位置为-3000,-3000,0。p定义索引,第一个用于顶点索引,第二个用于法线索引。在本例中,17是第一个点的索引,17是法线的索引(即宇宙中的同一点),15是第二个点,15是第二个法线,依此类推。