是否有类似于 Blender 节点编辑器的 Python 可重用组件? [关闭]

Posted

技术标签:

【中文标题】是否有类似于 Blender 节点编辑器的 Python 可重用组件? [关闭]【英文标题】:Is there a Python reusable component that is like the Blender node editor? [closed] 【发布时间】:2014-03-18 13:41:21 【问题描述】:

Blender 有一个功能强大、使用有趣、灵活的节点编辑器:

是否有 Python 库可以让我轻松创建这样的可视化开发环境?在 Blender 中,节点编辑器与着色器、图像、颜色等一起使用,我想自己定义节点、套接字和预览小部件的类型,就像构建“视觉 DSL”一样。

编辑:我不想在 Blender 中创建自定义节点,而是在我自己的项目中使用像节点编辑器这样的组件。我删除了 Blender 标签以避免混淆。

【问题讨论】:

正如彼得的回答所建议的那样:为什么不使用 Blender 本身呢?所有的用户界面都准备好了。您只需检查文档以了解如何创建将在节点视图上打开的文件,并且您所需的节点已经到位。 这似乎是一个很大的开销,尤其是因为我的项目将属于一个完全不同的域。 我想你正在寻找这个:github.com/FMichelD/PyQt5Nodes “libgtkflow 支持 GObject-Introspection,这意味着您可以在各种流行语言中使用它,包括但不限于:Python、 Perl、Lua、 JS,php。我在示例文件夹中编译了一些关于如何在 Python 中针对库进行编程的示例。随意添加您最喜欢的语言的示例。” (source) 图书馆比这个问题年轻 2 岁。 Inspired by Blender. 【参考方案1】:

您可以在文档中找到如何做到这一点:

http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes

如果您想使用节点以程序方式构建对象和网格,那么我建议您使用和/或分叉并改进此项目:

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Nodes/Sverchok

(这些人也在使用上面链接的 API)

如果你有 blender 特定的问题,比如这样,我也建议你在这个 blender 专用堆栈交换网站上提问:

https://blender.stackexchange.com/


编辑:

据我所知,在任何 UI 库中都没有任何预制的节点编辑器小部件或类似的东西。然而,实现基本的矩形、输入和输出端口以及连接它们的贝塞尔线非常容易。在第一步之后,您在设计和较小的细节上投入多少小时只是一个偏好问题。

我在 Python 中使用内置的 tkinter 库实现了我自己的:

然后在Pyglet 之后,为了提高速度,我在纯 C 中实现了它,并用 Cython 封装了 OpenGL 以供 Python 使用:

【讨论】:

对不起,我不想在 Blender 中创建自定义节点。请查看编辑,感谢您的回答 感谢您的详细回答,但我有点犹豫是否接受它,因为它基本上是“不知道”。但是我猜如果我的问题的答案是“不存在”,那么我会在没有其他建议出现的情况下接受它。 很公平,谢谢! 好的,谢谢。我想我必须自己动手:) 嗨@PeterVaro,我对你的图形用户界面设计很感兴趣,包括节点和贝塞尔曲线。这正是我想要的。我真的是 Python 和 Tkinter 的新手,我找到了一些很好的教程,当然我检查了文档,但我没有找到任何接近你的东西。你能给我一些建议吗?非常感谢。

以上是关于是否有类似于 Blender 节点编辑器的 Python 可重用组件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 wxPython 应用程序中嵌入 3-D 编辑器(例如 Blender)

我无法弄清楚 Unity / Blender / makehuman 根运动

C# treeview的节点前添加类似于checkbox

Modeling in Blender: Hammer 材质/灯光/渲染

实现物理随机性(如在 Blender 中)

Blender插件:Muscle System