Collada 中的节点额外技术是什么?

What is a node extra technique in Collada?

我正在解析 1.4.1 Collada(从 Blender 导出),我注意到在 library_visual_scenes 部分下,一些节点有 额外 技术 部分。

网上查了下,不太清楚这些是干什么用的,也不知道怎么用。我假设它们是用来改造骨骼的……但我不确定。为什么甚至需要这个!?为什么它本身没有被烘焙到骨基质中?

示例:

<node id="Armature_femaleLThigh" name="femaleLThigh" sid="femaleLThigh" type="JOINT">
            <matrix sid="transform">-0.9970781 0.002205959 -0.07635591 0.1638527 0.003207254 0.9999106 -0.01299338 0.3053502 0.07632041 -0.01320031 -0.9969959 0.8346263 0 0 0 1</matrix>
            <node id="Armature_femaleLCalf" name="femaleLCalf" sid="femaleLCalf" type="JOINT">
              <matrix sid="transform">0.9932371 0.1157223 -0.009409941 5.092525 -0.1157309 0.9932806 -3.67943e-4 -1.14292e-5 0.009304143 0.001454476 0.9999557 3.33786e-6 0 0 0 1</matrix>
              <node id="Armature_femaleLFoot" name="femaleLFoot" sid="femaleLFoot" type="JOINT">
                <matrix sid="transform">0.1140624 -0.991138 -0.06808402 4.458811 0.9934708 0.1139541 0.005483917 9.53674e-7 0.002323155 -0.0682651 0.9976645 2.38419e-7 0 0 0 1</matrix>
                <extra>
                  <technique profile="blender">
                    <layer sid="layer" type="string">0</layer>
                    <roll sid="roll" type="float">-1.571044</roll>
                    <tip_x sid="tip_x" type="float">5.96046e-7</tip_x>
                    <tip_y sid="tip_y" type="float">4.347153</tip_y>
                    <tip_z sid="tip_z" type="float">0.9915916</tip_z>
                  </technique>
                </extra>
              </node>
              <extra>
                <technique profile="blender">
                  <layer sid="layer" type="string">0</layer>
                  <roll sid="roll" type="float">-1.509084</roll>
                  <tip_x sid="tip_x" type="float">-0.02554714</tip_x>
                  <tip_y sid="tip_y" type="float">-0.4897394</tip_y>
                  <tip_z sid="tip_z" type="float">4.431761</tip_z>
                </technique>
              </extra>
            </node>
            <extra>
              <technique profile="blender">
                <layer sid="layer" type="string">0</layer>
                <roll sid="roll" type="float">-1.50752</roll>
                <tip_x sid="tip_x" type="float">-0.06722211</tip_x>
                <tip_y sid="tip_y" type="float">0.02900314</tip_y>
                <tip_z sid="tip_z" type="float">5.091998</tip_z>
              </technique>
            </extra>
          </node>

谢谢!

额外元素是特定于程序/库/应用程序的。在您的情况下,Blender 导出了 Blender 特定选项(技术或其他)。

例如,如果 Blender 重新导入文件,Blender 将读取所有这些参数并配置场景。可能没有 profile="blender" Blender 无法理解 extra 中的技术是否属于 Blender。

所以基本上,它包含特定于应用程序的配置或扩展配置(扩展)。您可以将自定义数据放在那里,并且大多数加载器可能会忽略它们。