2024-04-27 05:21:55 发布
网友
我的modelexporter基本上可以工作,但是我在模型中添加了一个额外的骨骼,命名为骨骼“gun”,在我的脚本中,该骨骼的索引是5(连接到“stump”)。附加到该骨骼的顶点的索引为10。我在窗口中点击,曲线图编辑器显示枪骨是最后一个,第10个。下面是一张并排的照片: 顺序错误:
如何在Python中获得正确的顺序?在
blender中的所有集合都是^{}类型。此集合的功能类似于字典和列表,允许通过索引或名称引用项。就像字典一样,你不能依赖条目按特定的顺序排列,不管是按名称还是按创建顺序。在
由于无法保证添加到集合中的新项目将获得最高的索引编号,因此每个导出都需要在导出时与索引保持一致,并且不要尝试重复使用以前导出的索引。在
您应该会发现,枚举骨骼列表将给出与内部使用的相同的索引号,您可以使用集合find()来获取骨骼的blenders内部索引号
find()
for i, b in enumerate(rig.bones): print(i, rig.bones.find(b.name), b.name) 0 0 spine 1 1 spine.001 2 2 spine.003 3 3 spine.004 4 4 spine.005 5 5 spine.006 6 6 shoulder.L 7 7 upper_arm.L ...
骨骼移动在vertex group中指定权重且名称与骨骼匹配的顶点。因此名为“shoulder.L”的骨骼将移动已指定权重的顶点到名为“shoulder.L”的顶点组。展开this answer可以访问每个顶点组的权重。在
blender中的所有集合都是^{} 类型。此集合的功能类似于字典和列表,允许通过索引或名称引用项。就像字典一样,你不能依赖条目按特定的顺序排列,不管是按名称还是按创建顺序。在
由于无法保证添加到集合中的新项目将获得最高的索引编号,因此每个导出都需要在导出时与索引保持一致,并且不要尝试重复使用以前导出的索引。在
您应该会发现,枚举骨骼列表将给出与内部使用的相同的索引号,您可以使用集合
find()
来获取骨骼的blenders内部索引号骨骼移动在vertex group中指定权重且名称与骨骼匹配的顶点。因此名为“shoulder.L”的骨骼将移动已指定权重的顶点到名为“shoulder.L”的顶点组。展开this answer可以访问每个顶点组的权重。在
^{pr2}$相关问题 更多 >
编程相关推荐