2015-06-20 166 views
0

在Stackoverflow上创建3D人体建模有不少文章,其中大多数建议使用MakeHuman开源软件。我的目标与许多其他职位一样 - 输入不同身体部位的厚度值 - 颈部,手臂,腿部,腰部等,并提出一个看起来接近现实的网格(三角形或四边形)。现在这里错综复杂的地方开始增长。这个问题有多种方法,我发现的一个很好的评论是:https://stackoverflow.com/a/1355556/42810793D人体建模:使用MakeHuman

问题1:任何人都可以帮助我理解Makehuman中代码的一般流程。我更感兴趣的是知道当不同滑块值发生变化时的变形的确切数学计算,或者我可以根据输入的身体部位厚度值用于重塑我的模型的一些命令行界面。

还有其他方法不包括Makehuman(https://stackoverflow.com/a/6365624/4281079):
1.根据厚度值对身体部位进行分段并应用一些变换。
2.使用一些数学全局相关函数(哪一个?)来定义当身体的一部分变形时其他顶点如何变化。

问题2:什么是最简单但有效的方式来分割身体部位。
问题#3:哪个相关函数对解决上面的第2点最有帮助。如果有帮助,我已经有多个人体网格了。

后来我打算在WebGL中实现这个项目。

回答

0

那么,我在一个项目中,我正在做人体的定制,但不适合网络(你后来说你想这样做)。

由于我是三维建模的新手,可能存在另一种比我更好的解决方案,所以如果有人知道另一种方法来做到这一点,请告诉我。

我正在做的是与Morph目标一起工作。

我创建使用3D最大的3D模型,并添加修饰语“变身”,就像教程波纹管: https://www.youtube.com/watch?v=fRu_zTLe1Bk

然后我出口的FBX和进口与Unity3d,在那里我可以修改变形目标'在运行时的值...

model.SetBlendShapeWeight(1, waistLenth); //Where model is an SkinnedMeshRenderer object. 

好吧,就是这样。

再一次,如果你找到另一种解决方案,与我们分享!