I have these shapes in my 3dsMax scene and when the Collada Converter is writing out the scene graph, in Converter::writeSGNode the following happens:
node->typeJoint is false
mesh->triGroups.size() is 0
node->children.size() is 0
Code enters the first if
if( !node->typeJoint )
skips the for-loop entirely
for( unsigned int i = 0; i < mesh->triGroups.size(); ++i )
enters the next if
if( node->children.size() == 0 )
and goes into the else clause of the next if
if( !node->typeJoint && ((Mesh *)node)->triGroups.size() > 1 )
and all it writes to the scene file is
outf << " />\n";
My .scene.xml file looks like this:
Code:
<Model name="city_03" geometry="city_03.geo">
/>
/>
/>
/>
/>
/>
<Mesh name="_G___S__516" material="city_03/alley_build_04.material.xml" tx="3700" ty="0" tz="-2600" batchStart="0" batchCount="531" vertRStart="0" vertREnd="262">
<Mesh name="_G___S__516" material="city_03/alley_build_03.material.xml" batchStart="531" batchCount="162" vertRStart="263" vertREnd="332" />
<Mesh name="_G___S__516" material="city_03/build_06.material.xml" batchStart="693" batchCount="36" vertRStart="333" vertREnd="350" />
</Mesh>
...
Something like this at the top of Converter::writeSGNode skips these nodes
Code:
if( !node->typeJoint )
{
Mesh *mesh = (Mesh *)node;
if( mesh->triGroups.size()==0 && node->children.size()==0 )
{
return;
}
}