Sure. Thanks for looking.
Code:
_arm = Horde3D::addNodes( RootNode, robotArmRes ); // initalize node for arm
NodeHandle _firstNode = Horde3D::getNodeChild(_arm,0);
Horde3D::setNodeTransformMatrix(_firstNode, transfromMatrix1); // update first joint
_firstNode = Horde3D::getNodeChild(_firstNode,0);
Horde3D::setNodeTransformMatrix(_firstNode, transformMatrix2); // update second joint
I'm updating transformation matrices whenever the arm moves naturally
Here's how I setup my camera:
Code:
_cam = Horde3D::addCameraNode( RootNode, "Camera", _forwardPipeRes );
Horde3D::setupCameraView( _cam, 45.0f, 800.0/600.0, 0.1f, 1000.0f );
I've attached two pictures that show a discrepancy between normal and debug view after I've updated the joint transformation matrix. I use this to initiate debug view
Code:
Horde3D::setOption( EngineOptions::DebugViewMode, _debugViewMode ? 1.0f : 0.0f );
As you can see even though the arm has been updated the engine is not recognizing this. Any suggestions?
Here are the steps I used to make my arm model in Maya...in case I'm specifying joints incorrectly
1. Make primitives
2. Make joints along arm
3. Bind joints to primitives
4. Export
Here's the robotArm.scene.xml that is generated for this model upon export
Code:
<Model name="clawarmleft" geometry="clawarmleft.geo">
<Joint name="joint1" rx="-0" ry="180" rz="0" jointIndex="1">
<Joint name="joint2" tx="4" ty="0" tz="0" jointIndex="2">
<Joint name="joint3" tx="4" ty="0" tz="0" jointIndex="3">
<Joint name="joint4" tx="1.7" ty="0" tz="0" jointIndex="4" />
</Joint>
</Joint>
</Joint>
<Mesh name="polySurface8" material="clawarmleft/lambert3.material.xml" batchStart="0" batchCount="24" vertRStart="0" vertREnd="8">
<Mesh name="polySurface8" material="clawarmleft/lambert2.material.xml" batchStart="24" batchCount="876" vertRStart="9" vertREnd="223" />
</Mesh>
<Mesh name="polySurface9" material="clawarmleft/lambert2.material.xml" batchStart="900" batchCount="2280" vertRStart="224" vertREnd="662" />
<Mesh name="polySurface10" material="clawarmleft/lambert2.material.xml" batchStart="3180" batchCount="2520" vertRStart="663" vertREnd="1145" />
<Mesh name="polySurface11" material="clawarmleft/lambert2.material.xml" batchStart="5700" batchCount="2280" vertRStart="1146" vertREnd="1584" />
<Mesh name="polySurface12" material="clawarmleft/lambert2.material.xml" batchStart="7980" batchCount="2520" vertRStart="1585" vertREnd="2067" />
<Mesh name="polySurface13" material="clawarmleft/lambert3.material.xml" batchStart="10500" batchCount="210" vertRStart="2068" vertREnd="2136">
<Mesh name="polySurface13" material="clawarmleft/lambert2.material.xml" batchStart="10710" batchCount="2070" vertRStart="2137" vertREnd="2531" />
</Mesh>
</Model>
Sorry thats a bit ugly....
It seems to me that the joints are not individual nodes in the normal sense. How can I make this model so that the joints are individual nodes while still binding the mesh of my model to the joints?