【问题标题】:Blender - commands in C# C++Blender - C# C++ 中的命令
【发布时间】:2018-10-14 19:41:10
【问题描述】:

我的任务是建立 GMS2 -> Blender 单向通信。扩展 GMS2 的 Dll 需要用 C# 或 C++ 编写。 Blender 的问题是它没有像 Maya 那样的端口。所以我对通过套接字的解决方案进行了讨论,但不确定这是否是正确的方法。

我不要求任何代码,只是特此要求一个指针(双关语)。

【问题讨论】:

  • int *pointerForYou; 你去吧(双关语)。
  • @AndreasBjørnHassingNielsen 我知道,我们不应该使用它们,但这不应该是一个void 更有用的指针吗?
  • 看看blender.stackexchange.com/questions/41533/…。如果需要互动交流,可以使用callbacks,但可能会比较麻烦。
  • Geuss 这将比预期的更受束缚。 oO gms->c++->python->blender
  • @SimplexRPGEngineemployee 您可以从 c++ 或 c# 发送命令,但在搅拌机方面,python 是唯一的选择。

标签: c# c++ blender game-maker-studio-2


【解决方案1】:

Blender 使用 python 创建插件,可以创建一个 python 插件来打开一个套接字并改变内部数据。一个例子是搅拌机中包含的network render 插件。您还可以使用 subprocess 模块从外部程序管道数据,请参阅this question

如果您需要在插件中使用 C/C++,您有多种选择。 blender 的插件是一个标准的 python 模块 - 具有一些必需的方法和属性。 python 模块可以是从 C/C++ 编译的dynamic library。您还可以使用ctypes 从 python 代码访问标准库。另一种选择是创建一个基本插件并使用 cython 将其转换为 C 代码,然后您可以将代码添加到其中,cube surferanimation nodes 是使用 cython 编译共享库的示例插件。

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多