【问题标题】:Programmatically animate a blender model — where to start?以编程方式为搅拌机模型制作动画——从哪里开始?
【发布时间】:2011-08-31 20:32:49
【问题描述】:

我必须创建一个简单的 3D 演示。

在 Blender 中有一个模型,我将编写一个 python 程序:

  • 建立一个场景,设置相机,绘制一个无限平面,用纹理填充它
  • 加载模型(从 Blender 导出)并定位对象
  • 处理按键以产生对象移动

我需要一个包含这 3 点的描述性教程的链接:

  • 从 Python 程序创建 3d 场景
  • 从文件中加载模型(当然我可以接受任何格式,只是让您知道源是在 Blender 中创建的)
  • 捕捉按键

不需要物理或设计方面的帮助,只需要主要的程序部分。

谢谢!

【问题讨论】:

  • 您以什么格式导出了搅拌机模型?波前对象?
  • 正如我所写,假设有一个可靠的插件,我可以以您建议的任何格式导出
  • 我相信 blender 支持导出到 Obj。我在我的答案中包含了一个关于如何从 python 加载它的博客文章链接

标签: python 3d blender


【解决方案1】:

不多说:OpenGL/Glut

另外,看看OpenGL red book。你可以在线阅读。 Samples 是用 C 编写的,但可以很容易地移植到 python,因为函数调用是相同的。

关于加载搅拌机模型,看看这个: Loading wavefront obj files with python

简而言之,寻找:

【讨论】:

  • 谢谢,看起来很有希望。目前正在研究 pyglet,但在 OSX 上安装时遇到问题
  • 我会接受您的详细回答,但仍会尝试处理一些更高级别的框架,例如 Panda3D
【解决方案2】:

要将另一个 Blender 文件中的组件链接到您的场景中,您可以使用 Python API。 您可以在以下位置找到所有文档: http://www.blender.org/documentation/blender_python_api_2_59_0/contents.html

特别是,您可能需要: bpy.data.libraries.load (http://www.blender.org/documentation/blender_python_api_2_59_0/bpy.types.BlendDataLibraries.html#bpy.types.BlendDataLibraries) 检查文件内容,bpy.ops.wm.link_append (http://www.blender.org/documentation/blender_python_api_2_59_0/bpy.ops.wm.html) 从指定文件导入您需要的对象。

我只知道如何在运行游戏引擎时捕捉按键。这就是你要找的吗?

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-05
    • 2014-05-24
    • 2020-08-16
    • 2015-03-31
    • 2014-06-09
    • 1970-01-01
    • 2015-08-16
    • 2015-10-03
    相关资源
    最近更新 更多