是否有库来显示虚拟人[WPF]

时间:2010-05-01 14:30:43

标签: wpf animation 3d character

虽然有很多3D库,但我很难找到适合WPF的库。

基本上,我想要一个角色动画引擎,它可以加载骨骼层次结构并允许我操作蒙皮网格。

我知道,这是所有3D引擎的经典主题。它们是为建立游戏而制作的。

如何在WPF应用程序中显示Skinned Character?

3 个答案:

答案 0 :(得分:2)

取决于您希望如何广泛地分发您的应用,为其提供安装支持 - 以及您想要做多少工作

1)你总是可以自己做 - 但你可能已经决定你不想花费2年的时间来构建渲染管道,学习IK的变幻莫测等等。

2)您可以定位XNA - 这是一种WPF,将在Windows上运行,并且xbox可以启动 - 您可以为XNA考虑的一个包是Visual 3D - 您可以找到引擎列表{{ 3}}

3)IFF您可以直接访问目标计算机,也可以将您的应用程序作为独立的WPF应用程序发布,您有很多选项 - 您只需要一个C#包装器,它允许您调用本机实现 - 你要放弃的一件事是WPF能够叠加控件,因为你的渲染表面很可能是嵌入在WPF UI中的winform控件 - 如果要分发应用程序,你需要将包装器DLL放入GAC广泛地 -

3a)查看here社区 - 整个工具都是开源的,并且有很多聪明的人在这个空间玩游戏

4)我想要自己的引擎,但它正在进行彻底的修改,并且不会再出现几个月了 - 我们通过选项3提供WPF / Silverlight支持 - .Net wrapper over C ++ core安装到GAC中 - 这使它可用于WPF / Silverlight - 我相信我们仍然必须假装是一个winform控件,以允许D3D渲染表面穿透到屏幕上

希望这有帮助

PS - 一方面的问题 - 你将Virtual Human资本化 - 你没有引用Blender,是吗?如果是这样,最后我知道你必须自己组装几何/骨骼,所有它提供的是tomagraphic切片

答案 1 :(得分:0)

你可以试试这个:

OGRE Game engine in WPF

如果OGRE引擎支持骨骼,你应该好好去。

有关OGRE Engine

的更多信息

祝你好运!

答案 2 :(得分:0)

WPF中不支持蒙皮网格。但是你可以在WPF中为机器人等其他东西制作动画(参见www.okino.com处的猿行走示例)。

您可以通过更改位置值使网格在WPF中变形。我通过创建一个向WPF动画系统公开属性的控件来完成此操作。这需要付出很多努力。

这是我未完成的WPF应用程序。注意机器人中的球形接头。我真正需要网格变形的唯一地方是面部,所以她可以说话。

由于MS在Visual Studio中放弃了对WPF 3D的支持,因此很难制作逼真的动画。虽然使用UIElement3D,您可以编写一个应用程序,允许您让人们拖动机器人四肢,然后拍摄快照。 WPF动画系统顶部的动画系统。

我为blender编写了一个插件,允许您从Blender导出3D模型。

Robot TV

因此,如果您想为WPF编写蒙皮网格,则必须编写自己的网格。骨骼实际上只是在网格的一部分上起作用的变换。