我想编写一个用于导出Skeleton的Collada-1.4导出器。我需要扩展Collada格式以定义一些额外的信息:
我能想到的最好的方法是使用一个元素并添加一个特定于工具的配置文件,但文档并不清楚如何准确地执行此操作。
我猜这是一个正确的工作示例:
<node id="Armature" name="Armature" type="NODE">
<matrix sid="transform">
1 0 0 0.1151489
0 1 0 0.01073149
0 0 1 1.730716
0 0 0 1</matrix>
<node id="A" name="A" sid="A" type="JOINT">
<matrix sid="transform">1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1</matrix>
<node id="B" name="B" sid="B" type="JOINT">
<matrix sid="transform">
-0.7919466 -0.4411024 0.422196 0
8.9407e-8 0.6914554 0.7224193 1
-0.6105905 0.5721177 -0.5475955 0
0 0 0 1
</matrix>
<extra>
<technique profile="blender">
<!-- =============================== -->
<!-- Bone tail offset from bone head -->
<!-- =============================== -->
<float_array name="tail" sid="tail" count="3">
0.0 0.0 1.0
</float_array>
</technique>
<technique_common/>
</extra>
</node>
</node>
</node>
但是我有一些问题:
我可以更具体的方式使用个人资料吗?例如:
<node>
...
<extra>
<technique profile="blender">
<tail type="float_array" connect="true">0 0 1.0</tail>
<roll type="float">0</roll>
</technique>
<technique_common/>
</extra>
</node>
我不确定是否允许我定义新元素(tail,role,connect),如上例所示。我可以这样做吗?
我也知道导入器必须知道额外的数据(支持blender配置文件)才能找到骨尾信息。因此,如果工具不知道搅拌器配置文件,它将无法识别其他骨骼信息,但这对我来说没问题。
答案 0 :(得分:2)
我可以尝试回答你的问题。
<extra>
标签,则可以
在<technique>
或<technique_common>
下编写任何符合XML的数据
xmlns
。所以对于你的第一个问题,是的
可以接受的。如果您为XML元素定义了任何模式,那么您
可以在技术中为其赋予<technique_common>
属性。<technique>
元素,但最好在您的情况下提供个人资料信息。我更愿意使用
<technique_common>
并提供您已有的个人资料信息
完成。<extra>
元素作为sid
的子元素。$scope.events = [
//{title: 'test event',start: moment()},
{title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d - 3, 16, 0),allDay: false},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d + 4, 16, 0),allDay: false},
{title: 'Birthday Party',start: new Date(y, m, d + 1, 19, 0),end: new Date(y, m, d + 1, 22, 30),allDay: false},
{title: 'Click for Google',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://google.com/'}
];
$scope.handleClick = function() {
$scope.events.push({title: 'Click for XYZ',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://someurl'});
}
在文档中应该是唯一的。所以不行。您可以尝试连续编号尾部。