虽然有很多3D库,但我很难找到适合WPF的库。
基本上,我想要一个角色动画引擎,它可以加载骨骼层次结构并允许我操作蒙皮网格。
我知道,这是所有3D引擎的经典主题。它们是为建立游戏而制作的。
如何在WPF应用程序中显示Skinned Character?
答案 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)
答案 2 :(得分:0)
WPF中不支持蒙皮网格。但是你可以在WPF中为机器人等其他东西制作动画(参见www.okino.com处的猿行走示例)。
您可以通过更改位置值使网格在WPF中变形。我通过创建一个向WPF动画系统公开属性的控件来完成此操作。这需要付出很多努力。
这是我未完成的WPF应用程序。注意机器人中的球形接头。我真正需要网格变形的唯一地方是面部,所以她可以说话。
由于MS在Visual Studio中放弃了对WPF 3D的支持,因此很难制作逼真的动画。虽然使用UIElement3D,您可以编写一个应用程序,允许您让人们拖动机器人四肢,然后拍摄快照。 WPF动画系统顶部的动画系统。
我为blender编写了一个插件,允许您从Blender导出3D模型。
因此,如果您想为WPF编写蒙皮网格,则必须编写自己的网格。骨骼实际上只是在网格的一部分上起作用的变换。