gpt4 book ai didi

animation - 具有多个骨骼的 collada 动画

转载 作者:行者123 更新时间:2023-12-03 08:22:56 24 4
gpt4 key购买 nike

我能够使用我自己编写的 collada 加载器加载静态几何体。然而,下一步是添加动画。我遇到的问题是当 instance_controller 有多个骨架时该怎么办。在我当前的模型中,我试图加载每个被操纵的节点引用每个关节。例如

<instance_controller url="#geom-Cylinder018-skin1">
<skeleton>#node-Bone024</skeleton>
<skeleton>#node-Bone020</skeleton>
<skeleton>#node-Bone016</skeleton>
<skeleton>#node-Bone009</skeleton>
<skeleton>#node-Bone005</skeleton>
<skeleton>#node-Bone001</skeleton>
<skeleton>#node-Bone025</skeleton>

我不确定我应该用它做什么?目前我正在将它们全部链接到 visual_scene 中的正确节点。但是,模型中的每个节点都会执行您在上面看到的操作!我使用 AssimpView 加载它只是为了查看它是否实际呈现并且工作正常。任何人都可以向我解释在上述情况下我应该做什么。谢谢

最佳答案

COLLADA spec , 它说 <skeleton>下面<instance_controller> :

Indicates where a skin controller is to start to search for the joint nodes it needs

因此,在 instance_controller 中有多个骨架指针只意味着指向的节点都应该搜索正确的关节节点。 <controller>本身会告诉您应该将哪些节点用于关节。它将有一个看起来像这样的来源:

<library_controllers>
<controller id="skin">
<skin source="#base_mesh">
<source id="Joints">
<Name_array count="4"> Root Spine1 Spine2 Head </Name_array>
...
</source>
...
</controller>
</library_controllers>

<node><skeleton>指向应搜索具有 sid 的节点每个联名。例如,对于上面的 Controller ,指向的节点如下所示:

<node id="Skeleton1" sid="Root">
<node sid="Spine1">
<node sid="Spine2">
<node sid="Head"/>
</node>
</node>
</node>

Controller 中的每个关节名称对应于具有该 sid 值的节点。如果你有多个骨架标签,这只是意味着你需要为给定的 sid 搜索更多的节点。

关于animation - 具有多个骨骼的 collada 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com