Skip to main content
 首页 » 编程设计

Python 脚本(主要)+ Blender "face"动画

2025年05月04日10lovecherry

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

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

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

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

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

我知道 blender 有很好的 python 集成(也许正确的说法是它是基于 python 构建的?),这就是为什么我认为它是一个很好用的程序。

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

干杯,

弗拉维奥

请您参考如下方法:

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

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

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

另一种选择是构建您的应用程序以在 Blener 游戏引擎本身内部运行 - 它提供了高级工具包和根据用户操作自定义行为的方法(甚至无需编码)。

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

在优势方面:您可以获得最大的灵 active ,甚至可以在您的应用中实时渲染某些序列(与预渲染视频相反)。

一件事:Blender 如今使用 Python 3.x - 如果您需要的其他库是 Python 2,您将需要在 Blender 中为 GUI 创建一个不同的进程,并在 Python 2 中与应用程序的后端交换数据(对于使用 jsonrpc 或 xmlrpc 的示例 - 这在 Python 中非常简单)。