有没有一个库可以显示虚拟人物 [WPF]?

4

虽然有很多3D库可供使用,但我在寻找适用于WPF的库时遇到了困难。

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

我知道,这是所有3D引擎的经典主题。它们都是为构建游戏而设计的。

如何在WPF应用程序中显示皮肤角色?

3个回答

2
取决于你想广泛分发你的应用程序,为其提供安装支持以及你想做多少工作。
1)你总是可以自己做 - 但你可能已经决定不想花费两年时间构建渲染管道,学习IK的细节等等。
2)你可以针对XNA进行目标设置 - 这是一种类似WPF的东西,可以在Windows和Xbox上运行 - 你可以考虑XNA的一个包Visual 3D - 你可以在这里找到引擎列表。
3)如果你可以直接访问目标机器或者可以将你的应用程序发布为独立的WPF应用程序,那么你有很多选择 - 你只需要一个C#包装器,允许你调用本地实现 - 唯一的问题是你将失去WPF的控件叠加功能,因为你的渲染表面很可能是嵌入在WPF UI中的Winform控件 - 如果你想广泛分发应用程序,你需要将包装器DLL放入GAC中。
3a) 检查一下Blender社区 - 整个工具是开源的,有很多聪明的人在那个领域玩耍。
4) 我会推荐我的引擎,但它正在经历全面修订,还需要几个月才能重新发布 - 我们将通过选项3提供WPF/Silverlight支持 - 直接安装到GAC中的C++核心的.NET封装器 - 这使得它可用于WPF/Silverlight - 我相信我们仍然需要假装是一个winform控件,以允许D3D渲染表面穿透到屏幕上。
希望这有所帮助。
PS - 一个旁边的问题 - 你把Virtual Human大写了 - 你是在引用NIH Visible Human Project吗?如果是的话,据我所知,你必须自己组装几何/骨骼,它只提供了断层扫描图像。

0

两次 orge 而不是 ogre! - ShinTakezou
我数了三个heh...应该是OGRE。 - sourcenouveau
好的,没问题!我有点词汇障碍,而且英语不是我的第三语言.. :) - Darknight

0

WPF不支持皮肤网格。但是你可以在WPF中很好地动画其他东西,比如机器人(请参见www.okino.com上的猿行例子)。

你可以通过改变位置值来使网格在WPF中变形。我通过创建一个控件来暴露属性给WPF动画系统来实现这一点。但这需要很多努力。

这是我的未完成的WPF应用程序。注意机器人的球关节。我真正需要网格变形的地方只有在脸部,这样她才能说话。

由于微软在Visual Studio中放弃了对WPF 3D的支持,因此制作逼真的动画非常困难。虽然使用UIElement3D,你可以编写一个应用程序,让人们拖动机器人的肢体,然后拍摄快照。这是在WPF动画系统之上的动画系统。

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

Robot TV

如果你想为WPF编写一个皮肤网格,那么你必须自己编写。骨骼实际上只是对网格的一部分起作用的变换。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接