Results 1 to 5 of 5

Thread: [3DSMax] Wrong word transformation

  1. #1
    Junior Member
    Join Date
    Feb 2006
    Location
    Paris, France
    Posts
    17

    [3DSMax] Wrong word transformation

    Hi,

    I what I am doing wrong, or why no one has seen that before, but my 3DSMax Collada plugin has never exported well the relative transformations of the nodes.

    Here I create a simple scene with 4 transformed cubes (with autogrid option) :



    I export it to Collada, and then re-import it into Max... here is the result :



    What is wrong ?

    Tom

  2. #2
    Senior Member
    Join Date
    Apr 2005
    Location
    Feeling Software, Montreal, Quebec
    Posts
    111
    Are the four prisms parented in some way?

    Could you please attach the exported COLLADA document and the original Max file?

    Which export options are used?

    Thanks,
    Guillaume Laforte
    Feeling Software Inc
    http://www.feelingsoftware.com

  3. #3
    Junior Member
    Join Date
    Feb 2006
    Location
    Paris, France
    Posts
    17
    At export, I checked those options :
    - Bake Matrices
    - Normals
    - Triangles
    - Sample Animation

    Unchecking Bake Matrices has no effect on the result.

    The objets are not parented. Here is the XML source of the file :

    Code :
    <?xml version="1.0" encoding="utf-8" ?>
    <COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.0">
       <asset>
          <contributor>
             <author>thomas</author>
             <authoring_tool>3dsmax COLLADA exporter v2.10</authoring_tool>
          </contributor>
          <created>2006-03-08T14:52:28Z</created>
          <modified>2006-03-08T14:52:28Z</modified>
          <revision>1.0</revision>
          <unit name="feet" meter="0.0254"></unit>
          <up_axis>Z_UP</up_axis>
       </asset>
       <library_materials>
          <material id="ColorMaterial_8915052">
             <instance_effect url="#ColorMaterial_8915052-fx"></instance_effect>
          </material>
          <material id="ColorMaterial_9059592">
             <instance_effect url="#ColorMaterial_9059592-fx"></instance_effect>
          </material>
          <material id="ColorMaterial_9744666">
             <instance_effect url="#ColorMaterial_9744666-fx"></instance_effect>
          </material>
          <material id="ColorMaterial_9429079">
             <instance_effect url="#ColorMaterial_9429079-fx"></instance_effect>
          </material>
       </library_materials>
       <library_effects>
          <effect id="ColorMaterial_8915052-fx" name="ColorMaterial_8915052">
             <profile_COMMON>
                <technique sid="COMMON">
                   <lambert>
                      <ambient>
                         <color>0.423529 0.0313726 0.533333 1</color>
                      </ambient>
                      <diffuse>
                         <color>0.423529 0.0313726 0.533333 1</color>
                      </diffuse>
                   </lambert>
                </technique>
             </profile_COMMON>
          </effect>
          <effect id="ColorMaterial_9059592-fx" name="ColorMaterial_9059592">
             <profile_COMMON>
                <technique sid="COMMON">
                   <lambert>
                      <ambient>
                         <color>0.0313726 0.239216 0.541176 1</color>
                      </ambient>
                      <diffuse>
                         <color>0.0313726 0.239216 0.541176 1</color>
                      </diffuse>
                   </lambert>
                </technique>
             </profile_COMMON>
          </effect>
          <effect id="ColorMaterial_9744666-fx" name="ColorMaterial_9744666">
             <profile_COMMON>
                <technique sid="COMMON">
                   <lambert>
                      <ambient>
                         <color>0.101961 0.694118 0.580392 1</color>
                      </ambient>
                      <diffuse>
                         <color>0.101961 0.694118 0.580392 1</color>
                      </diffuse>
                   </lambert>
                </technique>
             </profile_COMMON>
          </effect>
          <effect id="ColorMaterial_9429079-fx" name="ColorMaterial_9429079">
             <profile_COMMON>
                <technique sid="COMMON">
                   <lambert>
                      <ambient>
                         <color>0.341176 0.878431 0.560784 1</color>
                      </ambient>
                      <diffuse>
                         <color>0.341176 0.878431 0.560784 1</color>
                      </diffuse>
                   </lambert>
                </technique>
             </profile_COMMON>
          </effect>
       </library_effects>
       <library_geometries>
          <geometry id="Box04-obj" name="Box04">
             <mesh>
                <source id="Box04-obj-position">
                   <float_array id="Box04-obj-position-array" count="24">-35.569393 3.473245 23.903479 -35.569393 -10.620806 23.903479 -35.569393 3.473245 35.851242 -35.569393 -10.620806 35.851242 -74.810982 3.473251 23.903477 -74.810989 -10.620799 23.903477 -74.810982 3.473251 35.851238 -74.810989 -10.620799 35.851238</float_array>
                   <technique_common>
                      <accessor source="#Box04-obj-position-array" count="8" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box04-obj-normal">
                   <float_array id="Box04-obj-normal-array" count="72">0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0</float_array>
                   <technique_common>
                      <accessor source="#Box04-obj-normal-array" count="24" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box04-obj-mapchan-1">
                   <float_array id="Box04-obj-mapchan-1-array" count="36">0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0</float_array>
                   <technique_common>
                      <accessor source="#Box04-obj-mapchan-1-array" count="12" stride="3">
                         <param name="S" type="float"></param>
                         <param name="T" type="float"></param>
                         <param name="R" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <vertices id="Box04-obj-vertex">
                   <input semantic="POSITION" source="#Box04-obj-position"></input>
                </vertices>
                <triangles material="ColorMaterial_8915052" count="12">
                   <input semantic="VERTEX" source="#Box04-obj-vertex" offset="0"></input>
                   <input semantic="NORMAL" source="#Box04-obj-normal" offset="1"></input>
                   <input semantic="TEXCOORD" source="#Box04-obj-mapchan-1" offset="2" set="1"></input>
     
     
    0 0 9 2 1 11 3 2 10 3 2 10 1 3 8 0 0 9 4 4 8 5 5 9 7 6 11 7 6 11 6 7 10 4 4 8 0 8 4 1 9 5 5 10 7 5 10 7 4 11 6 0 8 4 1 12 0 3 13 1 7 14 3 7 14 3 5 15 2 1 12 0 3 16 4 2 17 5 6 18 7 6 18 7 7 19 6 3 16 4 2 20 0 0 21 1 4 22 3 4 22 3 6 23 2 2 20 0 </p>
                </triangles>
             </mesh>
          </geometry>
          <geometry id="Box03-obj" name="Box03">
             <mesh>
                <source id="Box03-obj-position">
                   <float_array id="Box03-obj-position-array" count="24">-25.585957 -36.108139 29.238312 -12.774834 -36.108139 29.238312 -25.585957 -36.108139 42.035553 -12.774834 -36.108139 42.035553 -25.585957 -61.400620 29.238312 -12.774834 -61.400620 29.238312 -25.585957 -61.400623 42.035553 -12.774834 -61.400623 42.035553</float_array>
                   <technique_common>
                      <accessor source="#Box03-obj-position-array" count="8" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box03-obj-normal">
                   <float_array id="Box03-obj-normal-array" count="72">0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0</float_array>
                   <technique_common>
                      <accessor source="#Box03-obj-normal-array" count="24" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box03-obj-mapchan-1">
                   <float_array id="Box03-obj-mapchan-1-array" count="36">0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0</float_array>
                   <technique_common>
                      <accessor source="#Box03-obj-mapchan-1-array" count="12" stride="3">
                         <param name="S" type="float"></param>
                         <param name="T" type="float"></param>
                         <param name="R" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <vertices id="Box03-obj-vertex">
                   <input semantic="POSITION" source="#Box03-obj-position"></input>
                </vertices>
                <triangles material="ColorMaterial_9059592" count="12">
                   <input semantic="VERTEX" source="#Box03-obj-vertex" offset="0"></input>
                   <input semantic="NORMAL" source="#Box03-obj-normal" offset="1"></input>
                   <input semantic="TEXCOORD" source="#Box03-obj-mapchan-1" offset="2" set="1"></input>
     
     
    0 0 9 2 1 11 3 2 10 3 2 10 1 3 8 0 0 9 4 4 8 5 5 9 7 6 11 7 6 11 6 7 10 4 4 8 0 8 4 1 9 5 5 10 7 5 10 7 4 11 6 0 8 4 1 12 0 3 13 1 7 14 3 7 14 3 5 15 2 1 12 0 3 16 4 2 17 5 6 18 7 6 18 7 7 19 6 3 16 4 2 20 0 0 21 1 4 22 3 4 22 3 6 23 2 2 20 0 </p>
                </triangles>
             </mesh>
          </geometry>
          <geometry id="Box02-obj" name="Box02">
             <mesh>
                <source id="Box02-obj-position">
                   <float_array id="Box02-obj-position-array" count="24">-23.185331 -13.116779 58.922890 -5.923672 -13.116779 58.922890 -23.185331 3.001753 58.922890 -5.923672 3.001753 58.922890 -23.185331 -13.116779 83.684761 -5.923672 -13.116779 83.684761 -23.185331 3.001753 83.684761 -5.923672 3.001753 83.684761</float_array>
                   <technique_common>
                      <accessor source="#Box02-obj-position-array" count="8" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box02-obj-normal">
                   <float_array id="Box02-obj-normal-array" count="72">0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0</float_array>
                   <technique_common>
                      <accessor source="#Box02-obj-normal-array" count="24" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box02-obj-mapchan-1">
                   <float_array id="Box02-obj-mapchan-1-array" count="36">0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0</float_array>
                   <technique_common>
                      <accessor source="#Box02-obj-mapchan-1-array" count="12" stride="3">
                         <param name="S" type="float"></param>
                         <param name="T" type="float"></param>
                         <param name="R" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <vertices id="Box02-obj-vertex">
                   <input semantic="POSITION" source="#Box02-obj-position"></input>
                </vertices>
                <triangles material="ColorMaterial_9744666" count="12">
                   <input semantic="VERTEX" source="#Box02-obj-vertex" offset="0"></input>
                   <input semantic="NORMAL" source="#Box02-obj-normal" offset="1"></input>
                   <input semantic="TEXCOORD" source="#Box02-obj-mapchan-1" offset="2" set="1"></input>
     
     
    0 0 9 2 1 11 3 2 10 3 2 10 1 3 8 0 0 9 4 4 8 5 5 9 7 6 11 7 6 11 6 7 10 4 4 8 0 8 4 1 9 5 5 10 7 5 10 7 4 11 6 0 8 4 1 12 0 3 13 1 7 14 3 7 14 3 5 15 2 1 12 0 3 16 4 2 17 5 6 18 7 6 18 7 7 19 6 3 16 4 2 20 0 0 21 1 4 22 3 4 22 3 6 23 2 2 20 0 </p>
                </triangles>
             </mesh>
          </geometry>
          <geometry id="Box01-obj" name="Box01">
             <mesh>
                <source id="Box01-obj-position">
                   <float_array id="Box01-obj-position-array" count="24">-35.569389 -36.108135 0 9.192568 -36.108135 0 -35.569389 22.485931 0 9.192568 22.485931 0 -35.569389 -36.108135 58.922894 9.192568 -36.108135 58.922894 -35.569389 22.485931 58.922894 9.192568 22.485931 58.922894</float_array>
                   <technique_common>
                      <accessor source="#Box01-obj-position-array" count="8" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box01-obj-normal">
                   <float_array id="Box01-obj-normal-array" count="72">0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 0 1.000000 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0 -1.000000 0 0</float_array>
                   <technique_common>
                      <accessor source="#Box01-obj-normal-array" count="24" stride="3">
                         <param name="X" type="float"></param>
                         <param name="Y" type="float"></param>
                         <param name="Z" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <source id="Box01-obj-mapchan-1">
                   <float_array id="Box01-obj-mapchan-1-array" count="36">0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0 1.000000 1.000000 0</float_array>
                   <technique_common>
                      <accessor source="#Box01-obj-mapchan-1-array" count="12" stride="3">
                         <param name="S" type="float"></param>
                         <param name="T" type="float"></param>
                         <param name="R" type="float"></param>
                      </accessor>
                   </technique_common>
                </source>
                <vertices id="Box01-obj-vertex">
                   <input semantic="POSITION" source="#Box01-obj-position"></input>
                </vertices>
                <triangles material="ColorMaterial_9429079" count="12">
                   <input semantic="VERTEX" source="#Box01-obj-vertex" offset="0"></input>
                   <input semantic="NORMAL" source="#Box01-obj-normal" offset="1"></input>
                   <input semantic="TEXCOORD" source="#Box01-obj-mapchan-1" offset="2" set="1"></input>
     
     
    0 0 9 2 1 11 3 2 10 3 2 10 1 3 8 0 0 9 4 4 8 5 5 9 7 6 11 7 6 11 6 7 10 4 4 8 0 8 4 1 9 5 5 10 7 5 10 7 4 11 6 0 8 4 1 12 0 3 13 1 7 14 3 7 14 3 5 15 2 1 12 0 3 16 4 2 17 5 6 18 7 6 18 7 7 19 6 3 16 4 2 20 0 0 21 1 4 22 3 4 22 3 6 23 2 2 20 0 </p>
                </triangles>
             </mesh>
          </geometry>
       </library_geometries>
       <library_visual_scenes>
          <visual_scene id="unnamed_scene" name="unnamed_scene">
             <node id="Box01" sid="Box01" name="Box01">
                <matrix>1 0 0 -13.1884 0 1 0 -6.8111 0 0 1 0 0 0 0 1</matrix>
                <instance_geometry url="#Box01-obj">
                   <bind_material>
                      <technique_common>
                         <instance_material symbol="ColorMaterial_9429079" target="#ColorMaterial_9429079"></instance_material>
                      </technique_common>
                   </bind_material>
                </instance_geometry>
             </node>
             <node id="Box02" sid="Box02" name="Box02">
                <matrix>1 0 0 -14.5545 0 1 0 -5.05751 0 0 1 58.9229 0 0 0 1</matrix>
                <instance_geometry url="#Box02-obj">
                   <bind_material>
                      <technique_common>
                         <instance_material symbol="ColorMaterial_9744666" target="#ColorMaterial_9744666"></instance_material>
                      </technique_common>
                   </bind_material>
                </instance_geometry>
             </node>
             <node id="Box03" sid="Box03" name="Box03">
                <matrix>1 0 0 -19.1804 0 -4.37114e-008 -1 -36.1081 0 1 -4.37114e-008 35.6369 0 0 0 1</matrix>
                <instance_geometry url="#Box03-obj">
                   <bind_material>
                      <technique_common>
                         <instance_material symbol="ColorMaterial_9059592" target="#ColorMaterial_9059592"></instance_material>
                      </technique_common>
                   </bind_material>
                </instance_geometry>
             </node>
             <node id="Box04" sid="Box04" name="Box04">
                <matrix>-1.62921e-007 -4.37114e-008 -1 -35.5694 -1 7.12149e-015 1.62921e-007 -3.57378 0 1 -4.37114e-008 29.8774 0 0 0 1</matrix>
                <instance_geometry url="#Box04-obj">
                   <bind_material>
                      <technique_common>
                         <instance_material symbol="ColorMaterial_8915052" target="#ColorMaterial_8915052"></instance_material>
                      </technique_common>
                   </bind_material>
                </instance_geometry>
             </node>
          </visual_scene>
       </library_visual_scenes>
       <scene>
          <instance_visual_scene url="#unnamed_scene"></instance_visual_scene>
       </scene>
    </COLLADA>

    Regards,
    Tom

  4. #4
    Senior Member
    Join Date
    Apr 2005
    Location
    Feeling Software, Montreal, Quebec
    Posts
    111
    Is there a good reason why you are not checking the "object-space" export option?

    COLLADA is not interested in world-space geometries so the importer doesn't handle them, but some users requested that export. Maybe the export option should be inverted in meaning to make more sense. For now, always use the "object-space" export option.

    Sincerely,
    Guillaume Laforte
    Feeling Software Inc
    http://www.feelingsoftware.com

  5. #5
    Junior Member
    Join Date
    Feb 2006
    Location
    Paris, France
    Posts
    17
    Well, it seems that I has mistaken on default export options.

    But even if the object-space options isn't checked, shouldn't be any extra 3DMAX saying that the transformations are word-space ? Thus, any importer could import well the world-space DAE file, thanks to some intepretation of the extra parameters.

    Anyway, I just found strange that the export and import of Max were not bijective.

    Thanks,
    Tom

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •