背景
我正在做一个项目,用户会被Kinect (v2)扫描。结果将生成一个适合于游戏使用的3D模型。
扫描方面进行得很好,我已经生成了一些好的用户模型。
示例:

注意:这只是一个早期的测试模型。它仍然需要清理,需要改变立场,以正确读取骨架数据。
问题
我目前面临的问题是,我不确定如何在生成的3D模型中放置骨骼数据。我似乎找不到一个能让我以编程方式将骨架插入到3D模型中的程序。我希望通过我可以编程控制的程序来实现这一点,或者通过调整3D模型文件的方式将骨骼数据包含在文件中。
我试过什么
我一直在谷歌和StackOverflow上寻找类似的问题,但它们通常指的是运动捕捉或骨骼动画。我知道玛雅可以选择在3D模型中插入骨架,但据我所知,这总是手工完成的。也许对我想要解决的问题有一个更技术性的术语,但我不知道。
我确实有一个如何实现骨架插入的思路。我想是这样的:
问题
有人能推荐(我知道,这可能是“基于意见的”)一个程序来读取骨骼数据并将其插入到3D模型中吗?有可能利用玛雅来达到这个目的吗?
提前谢谢。
注意:我选择在这里发布这个问题,而不是在Graphics Design (或其他Stack Exchange站点)上发布,因为我觉得这与编码有关,也许对将来在这里搜索的人更有用。如果它在错误的网站上发布,很抱歉。
发布于 2015-05-30 11:46:06
你问题的一个棘手的部分是你所说的“插入骨架”是什么意思。通常,骨骼数据与几何非常独立,并且存储在场景图中的不同位置(骨数据本质上是分层的)。
有些文件格式您可以导出到那里,您可以在几何和骨架之间建立某种关联,但这是非常特定的格式,您如何将两者联系在一起(例如: FBX和Collada)。
最接近“插入”,或更恰当地说,“将”骨架贴在网眼上的东西可能是剥皮。在这里,你计算重量分配,基本上确定每个骨头对你的网格中的一个顶点有多大的影响。
这是一个很难得到正确的部分(包括编程和艺术),并根据您的质量需要,往往是一个半自动的解决方案充其量最高质量的需要(商业游戏,电影等)。艺术家们费尽心机地调整产生的重量分配和/或骨架。
在确定这些权重分配时,有一些算法非常复杂,从简单的启发式(比如根据最近的直线距离来分配权重)(非常粗糙,并且常常在骨盆或肩部等棘手的区域附近)或那些实际上将网格看作实体体积(使用体素或四面体表示)来分配权重的算法。示例:http://blog.wolfire.com/2009/11/volumetric-heat-diffusion-skinning/
然而,您可能能够获得不错的结果,使用一种算法,如delta,它允许您得到一个有点马虎与重量分配,但仍然得到了相当平滑的变形。
如果你想在外部做这个,几乎任何3D动画软件都可以,包括像Blender这样的免费软件。然而,一般来说,皮肤和人物动画往往需要相当多的艺术技巧和耐心,所以值得注意的是,这并不像看上去那么容易让角色跳跃、跳舞、蹲下、奔跑,即使你事先有了一副骨架也是如此。从骨架到几何学的重量关联是最难的部分。这往往是艺术家花了很多时间仔细研究变形的结果,目的是为了让他们在各种各样的姿势中看起来都是对的。
https://stackoverflow.com/questions/29981133
复制相似问题