2

我正在寻找一些软件,最终将绘制一个人体框架(可以配置各种参数),并且计划是在假人身上放置某种衣服。

我看过 Blender、OpenGL 库以及其他渲染和物理引擎,我不是在找你告诉我怎么做,但主要是我想知道有哪些库可以做这种事物?

所以在 2d 中会有服装的图案,然后系统(至少在理论上)将能够将其转换为例如衬衫的 3d 表示?然后把它放在人体框架上。我知道我需要为此做很多工作,但是在将衣服渲染到框架上,考虑碰撞以及它如何在框架周围掉落等方面,我一直在谷歌搜索,并找到了一些位,但想知道是否有 C++ 库可以做到这一点。

我正在使用 Visual C++ 2010 进行开发,目标环境是 Windows 机器。

要么,要么我需要上一些物理课。

4

5 回答 5

7

不幸的是,开发像您所说的那样的系统将非常困难。从好的方面来说,有很多易于使用的技术可以帮助您实现目标。

通常,这类事情的工作方式如下:您在诸如 Blender、3ds max、Maya、Softimage 等建模程序中制作一些 3d 资源,然后在您的程序/游戏中使用它。您可以将这些程序视为只是吐出一堆 3d 坐标,您的程序在 OpenGL 或 DirectX 的帮助下可以将其加载到内存中并进行渲染。

建模和加载资产当然是开发生成点的算法的替代方法。这就是你试图完成的事情。

坏消息是服装真的很复杂。很大一部分原因是因为其中大部分都需要模拟布料动力学。问题的另一部分是,即使你有一个 2d 图案,你会如何让衣服与你的人体模型保持一致?是不是皮肤很紧?疏松?你将如何参数化它?任何有 3D 建模经验的人都可能告诉您,将实际衣服放置在身体上本身就是一件苦差事。

尽管如此,一些业内最聪明的专业人士正在寻找更好的方法来模拟布料,以及更好的方法来自动化资产创建。

总而言之,简单的答案是,您尝试做的事情,尽管它可能很有趣和高尚,但将非常困难,并且可能不会有您想要的结果。

至于你可以去哪里获得更多答案:

如果你仍然有兴趣找到一种方法来自动将服装附在模特身上,我会先看看学术网站。寻找任何有计算机图形研究项目的计算机科学系。你会在那里发现很多有趣的东西。

如需更多学术类型资源,请查看 Game Programming Gems、GPU Programming Gems 和 Graphics Programming Gems 丛书。它们包含许多解决诸如此类的困难图形问题的好文章。

您可能会做的另一件事是多检查一下搅拌机。有一个有趣的项目叫做 MakeHuman

http://makehuman.blogspot.com/

这使在搅拌机中开发人体模型的过程自动化。

有一些关于给模特穿衣服的教程,看看这个: http ://www.davidjarvis.ca/blender/tutorial-05.shtml

有关搅拌机中服装和布料模拟的更多教程,您可以随时查看

www.blendercookie.com cg.tutsplus.com

我希望其中一些有用。

于 2011-03-09T14:44:22.797 回答
2

据我所知,布料被模拟为弹簧网,这为模拟提供了物理库以及对弹簧/布料物理特性的理解。虽然我还没有听说过为布料模拟量身定制的物理库,但毫无疑问,这个网站上的某个人会知道一个。

于 2011-03-09T14:31:42.367 回答
2

这是关于布料模拟本身的答案。(也许不是你在插话)

如果你想通过一些供应商的中间件模拟布料模拟 - 你可以尝试使用

  1. Havok(它是商业的)。在我看来,它支持任何由三角形网格表示的碰撞对象。
  2. PhysX(它是免费的),但是当您尝试使用它时,会有很多限制)。

如果您想用手模拟布料物理,我可以建议您执行以下步骤:

  1. 刷新有关物理学的基础知识(Interia、能量、牛顿定律。)
  2. 布料模拟和物理模拟的良好起点是那本书 http://www.amazon.com/Game-Physics-Pearls-Gino-Bergen/dp/1568814747
  3. 阅读 Siggraph 关于衣服的文章。
  4. 想想你需要哪些碰撞对象
  5. 想想你需要什么力量。
  6. 将此挑战拆分为 广泛的阶段/集成/碰撞检测/碰撞响应/约束求解器

我在 C++、OpenCL 中开发了布料物理模拟。开发大概需要4个月,Debug stage5大概需要2个月。但那是我生命中非常炎热的时期,这份工作耗费了大量的时间。

于 2014-01-07T14:43:24.650 回答
0

除了您想要在应用程序运行时更改虚拟对象的部分外,或多或少是Esentel Engine等游戏引擎的示例。整个想法是为身体加载一个网格,然后在上面放置一个“布料”(布料已经在大多数游戏引擎中定义为物理类型)。但是当涉及到人体框架的运行时变化时,它变得有点棘手,因为你必须知道你将如何影响参数,这对于有机形状来说并不容易。

于 2011-03-09T14:38:49.160 回答
0

这些天使用的免费游戏引擎是 Unity 3d ......这一切都取决于细节,而且 Maya 和 3ds Max 是最好的建模程序。

于 2012-08-16T13:15:49.087 回答