【问题标题】:Programing Blender in PyDev Python Editor在 PyDev Python 编辑器中编程 Blender
【发布时间】:2017-10-13 01:33:13
【问题描述】:

我正在尝试创建一个 3D 模型,尤其是使用一种编程语言的逼真的 3D 人体模型,我将在其中输入一组点/顶点,这些点/顶点将连接起来以制作我想要的图形。

我第一次尝试使用 Java 3D,但我发现它只对创建像立方体这样的基本形状有用,并且在进行进一步研究后,它似乎不是制作需要网格的复杂形状的好工具。

在做了更多研究之后,我发现 Blender 是一个很好的创建 3D 模型的工具,并且它具有可用于创建 python 脚本的可用源代码。但是,这些脚本似乎只能在搅拌机本身中运行,而不能通过 Eclipse 中的 pyDev 运行,这正是我想做的。是否有另一种方法可以利用 Blender 代码,以便我可以使用它通过提供数据集以编程方式创建 3D 模型?我读到 Blender 是用 C 编码的,所以有没有办法在 C 中实现我想要的,如果有的话,有没有人知道一个很好的参考/教程,我可以用它来利用现有的 Blender 代码创建 3D 模型?

【问题讨论】:

  • 很抱歉与您矛盾,但 Phil 成功地使用 Java3D 制作了一款在桌面和移动 (Android) 环境中运行的包含动画模型的 3D 游戏:youtube.com/watch?v=MIdjuFqE-dE 我知道骨骼和关键帧动画不是在 Java3D 中使用微不足道,但它是可能的,并且 Java 中有大量其他引擎和框架能够做到这一点,例如 JMonkeyEngine、Unlicense Lib、LibGDX、JogAmp 的 Ardor3D Continuation,...

标签: python 3d blender java-3d 3d-modelling


【解决方案1】:

虽然您可以更改 Blender 的源代码以添加功能,但使用 python 脚本或插件通常更容易。 Blender 的 python API 提供对其数据的访问。

可以使用 pycharm 或 pydev(两者都是基于 eclipse)远程调试 python 脚本。一些信息是provided here,您可以在using pycharm at blender.stackexchange 上找到几个问题。

您还可以将blender构建为python module,它允许您将bpy模块导入任何python解释器并使用blender的网格工具而不使用它的gui。您需要自己从源代码构建搅拌机才能获取此模块。

为了获得额外的性能,您可以使用 numpy,它已经包含在搅拌机中一段时间​​了。您可能还想查看使用 cython 从您的 python 插件生成 c 代码,以便可以将其编译为二进制 python 模块,cube surfer is an example

至于您生成人体网格的计划,我建议您查看MakeHumanManuelbastioniLAB。这两者都使用一组预先构建的网格和形状键,可以根据一组参数进行互换。

【讨论】:

  • 感谢您的回答。我会尝试你的建议,看看进展如何,并会在这里更新
猜你喜欢
  • 1970-01-01
  • 2015-08-14
  • 2010-10-31
  • 1970-01-01
  • 2013-10-04
  • 2011-01-25
  • 2011-03-15
  • 2010-12-27
  • 2015-05-25
相关资源
最近更新 更多