2

所以我实际上正在做一些与这个用户帖子非常相似的事情: https ://stackoverflow.com/questions/6800292/python-ai-and-3d-animation

但它没有答案,我无法联系用户。

基本上,我有一个功能正常的 python 脚本,可以根据我的语音命令响应我的操作。(获取电子邮件、天气预报、开/关灯等),它是使用非常棒的 pyspeech 库制作的。

现在我想给我的程序一个“面子”!我考虑过用 Blender 对脸部进行建模(有一些知识并会在此基础上建立),我知道我可以为它制作动画,所以嘴唇会移动等等。所以我想知道是否有可能:

  • 从我的主要python脚本加载我用搅拌机制作的“脸”(所以当我的程序启动时,脸也会出现在屏幕上)
  • 从脚本运行动画,例如当我的程序说“不客气”时,我会运行嘴唇在脸上移动的动画来模拟它正在说话。

我知道搅拌机有一个很好的 python 集成(也许正确的是说它是建立在上面的?)这就是为什么我认为它是一个很好的程序。

希望有人可以帮助并告诉我这是否可能,也许可以告诉我一些正确的方法,我的谷歌搜索只是向我展示了总是使用 Blender 编写 python 脚本,这不是我在这里真正需要的......我想......

干杯,

弗拉维奥

4

1 回答 1

1

确实,你想要的都是可能的。如果您只想根据程序的决定播放预渲染的动画视频,那么任何允许您在小部件中嵌入和播放视频的 GUI 都适用于您的应用程序。

您可以使用 Pygame 推出自己的 GUI(它具有视频支持,但您将需要为 pygame 制作的“次要”或多或少“业余”小部件工具包之一来构成应用程序的其余部分,因为 pygame 非常低等级。

在更高的层次上,虽然我没有嵌入视频,但我认为你可以使用 PyQT4(谷歌搜索了一下,也没有那么多例子,但暗示 QT4 源代码中有示例)或 GTK+(同样的东西,看起来像那里有更多的例子)。

另一种选择是构建您的应用程序以在 Blender 游戏引擎本身内部运行 - 它提供高级工具包和自定义用户操作行为的方法(即使没有编码)。

这样做的主要缺点是:我不知道现在有哪些选项可以分发需要 Blender 游戏引擎的应用程序 - 您的用户将需要安装 Blender(但很可能 Blender 的人做了一个简单的方法来处理这个) .

一方面:您获得了最大的灵活性,甚至可以在您的应用程序中实时渲染一些序列(与预渲染视频相反)。

One thing: Blender nowadays use Python 3.x - if the other libraries you need are Python 2, you willl need to make one different process for the GUI inside Blender, and exchange data with your application's backeend in Python 2 (for example using jsonrpc or xmlrpc - that is enoguh simple in Python).

于 2012-08-13T12:30:56.940 回答