【问题标题】:Using blender from PyDev使用 PyDev 的搅拌机
【发布时间】:2017-05-24 09:26:06
【问题描述】:

我希望能够在 Eclipse 中直接从 PyDev 使用搅拌机代码,因此我可以利用搅拌机模块来创建 3D 对象,同时也使用我自己的一些代码。我已经按照以下步骤在我的 Windows 机器中构建了搅拌机,因此我可以将搅拌机用作模块。

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 时出现以下错误:

'错误:未释放的内存块:8,未释放的总内存 0.008392 MB AL lib:(EE)UpdateDeviceParams:无法设置 44100hz,得到 48000hz 而是'

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

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

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

【问题讨论】:

    标签: python pydev blender


    【解决方案1】:

    错误消息是两条连接在一起的消息,第一条是关于未释放内存的更多的是调试报告,而另一条来自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 获得搅拌机特定的 python 帮助。

    【讨论】:

    • 非常感谢!在我添加打印语句后,我看到它确实创建了飞机。
    猜你喜欢
    • 2011-08-11
    • 2020-01-06
    • 2012-02-07
    • 2016-01-19
    • 2012-11-15
    • 2018-07-13
    • 2018-08-06
    • 2020-06-07
    • 2016-09-12
    相关资源
    最近更新 更多