平行拟合和旋转两个 3D 网格节点

Posted

技术标签:

【中文标题】平行拟合和旋转两个 3D 网格节点【英文标题】:Fit and rotate two 3D mesh nodes in parallel 【发布时间】:2015-05-22 00:35:12 【问题描述】:

我试图将人体骨骼完全放入人体中,然后旋转两个网格,但我没有得到预期的结果。我需要你的帮助。

人体外皮 3D 模型是从 MakeHuman 获得的,然后我从其他地方购买了一个不同的 3D 人体骨骼,以将其放入人体外皮模型中。骨架模型明显大于外皮模型,所以我使用 Blender 来缩小骨架。在 Blender 中,骨架很好地贴合在外皮内。

当我将这两个模型集成到 ios 中时,我的问题就开始了。 第一个问题:在加载骨架和外皮模型时,骨架网格节点仍然看起来比人体外皮大得多,尽管它已经通过 Blender 缩小了。我不得不再次使用 Cocos3D 的 uniformScale 属性将其缩小,以便将其放入外皮模型中。请注意,两个网格节点都位于距相机的确切位置距离处。

第二个问题:当我旋转两个网格节点时,骨架网格节点开始浮出水面并流过外皮网格节点。两者具有完全相同的旋转向量和相同的原点。

我们非常需要帮助,非常感谢。

【问题讨论】:

有人对这个问题有什么建议吗?通过 Blender 在骨架和外皮网格节点之间添加约束会解决这个问题吗? 我注意到在 Blender 中缩放模型对 Cocos3D 没有影响。 你试过在 Cocos3D 中让一个模型成为另一个模型的子节点吗?然后,您可以定位/旋转/缩放子模型以匹配父模型,当您旋转父模型时,子模型将自动与其同步旋转。 谢谢比尔。我没有也将这样做。所以似乎在 Blender 中完成的设置(位置、缩放、旋转、约束......)不会被打包在 pod 文件中。是那个还是 Cocos3D 不解释/解码在 Blender 中完成的那些设置? POD 文件确实包含每个节点的位置、旋转和缩放属性,这些信息由 Cocos3D 读取(否则模型中的各个节点将无法正确对齐)。当您在 Cocos3D 中加载模型时,会记录 POD 文件的内容,因此如果您想查看每个组件(节点、材料等)的属性,可以深入研究它。但是,我不熟悉 Blender 和导出器如何提取您要查找的信息以将其放入 POD 文件中。 【参考方案1】:

感谢 Bill Hollings,通过将骨架添加为外壳模型的子节点来解决此问题。

【讨论】:

以上是关于平行拟合和旋转两个 3D 网格节点的主要内容,如果未能解决你的问题,请参考以下文章

中望3D 2021 草图设计 -----“拟合曲线”命令

如何通过 3D 点云拟合线?

Python:使用 MLPRegressor 拟合 3D 函数

抛物面(3D抛物线)曲面拟合python

使用Open3D进行PCD拟合平面的Python代码示例

Matlab 使用CNN拟合回归模型预测手写数字的旋转角度