python - 使用 PyDev 的 blender

标签 python pydev blender

我希望能够在 Eclipse 中直接使用来自 PyDev 的 Blender 代码,这样我就可以利用 Blender 模块来创建 3D 对象,同时还可以使用我自己的一些代码。我已经按照以下步骤在我的 Windows 机器中构建 blender ,这样我就可以使用 blender 作为模块。

https://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule

https://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule

现在我实际上正在尝试在 PyDev 中编码,但我在让它工作时遇到问题。

我在 PyDev 中的代码如下。

import bpy
from bpy import context
from math import sin, cos, radians

x = -3
y = -5
z = 3

bpy.ops.mesh.primitive_plane_add(radius=1, view_align=False, 
enter_editmode=False, location=(x, y, z), layers=(True, False, False, False, 
False, False, False, False, False, False, False, False, False, False, False, 
False, False, False, False, False))

当我在 PyDev 中运行 int 时,出现以下错误:

'Error: Not freed memory blocks: 8, total unfreed memory 0.008392 MB AL lib: (EE) UpdateDeviceParams: Failed to set 44100hz, got 48000hz instead'

如果我在 blender 本身内部运行相同的代码,它会按预期创建一个平面。据我了解,将 Blender 构建为 py 模块后,我应该能够在 pyDev 本身中运行代码。

我想知道是否有人有一个在 pyDev 中使用并工作的示例 blender 代码,这样我就可以测试它 pyDev 并看看它是否在 blender 中创建了一些东西。它可能很简单,例如从 PyDev 创建打开的 blender 或从 PyDev 本身创建一个平面。我已经尝试寻找示例,但我发现的只是在 blender 中运行 python,而我想做相反的事情,即在 python 中运行 blender 。

我对此很陌生,所以很可能我在代码中遗漏了一些东西。

最佳答案

错误消息是两条消息连接在一起,第一个关于未释放内存的消息更多的是调试报告,而另一个来自 openal audio settings 。两者都可以忽略。当 blender 退出时,会打印内存错误消息,这意味着脚本已运行并且运行脚本的 python 解释器已关闭,这也意味着您创建的任何 blender 数据已被释放。

对于更持久的数据,您需要 opensave混合文件。

为了表明您确实创建了飞机,请将以下内容添加到脚本末尾 -

for o in bpy.data.objects:
    print(o.name, o.location)

您可以找到一些有关将 pydev/pycharm 与 blender 一起使用的信息 here ,它显示了设置远程调试,以便您可以在 blender 中运行脚本。您还可以在 blender.stackexchange.com 获取 blender 特定的 python 帮助。 .

关于python - 使用 PyDev 的 blender ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44136128/

相关文章:

python - 为什么在 Tensorflow 中使用和不使用上下文管理器定义 tf.Session 会导致不同的行为?

python - 将 YouTube 链接转换为嵌入链接

python - OSX + Eclipse + PyDev - 路径不正确

python:在另一个文件夹中运行测试的文件夹覆盖(Eclipse PyDev)

python - Blender 可以根据文本文件生成场景吗?

python - basestring 和 types.StringType 之间的 python 区别?

python - 使用相同的容器在 Python 中获取可变大小的 numpy 数组的 CDF?

javascript - 使用 Three.js ObjectLoader 正确渲染动画

eclipse - 在多台计算机上使用相同的 Pydev/Eclipse 环境

c# - 使用 C# 代替 Python 的 Blender