从 C++ 启动 Unity(解耦控制和可视化)

Posted

技术标签:

【中文标题】从 C++ 启动 Unity(解耦控制和可视化)【英文标题】:Start Unity from C++ (decoupling control and visualization) 【发布时间】:2017-05-17 13:44:02 【问题描述】:

我在 Linux 和 C++ 上运行 Unity,我有一组用于转换对象的控制器(和物理)。目前,我正在使用 Qt 和 OpenGL 来显示它。我想知道,我将如何将我的 Qt、OpenGL 实现与更严肃的 Unity 交换? - 简而言之,我可以从 C++ 向 Unity 提供有关我的对象状态的信息,然后 Unity 会对其进行可视化吗?

【问题讨论】:

我认为更好的设计是让它反过来,让 Unity 处理主事件循环和处理,并且只调用在 C++ 中实现的时间关键部分(如果!)需要。 我认为在 Unity 中使用 C++ 的唯一选择是 NativePlugins。但是为什么你认为 Qt 和 OpenGL 是不严肃的呢?我对 Qt 的体验非常棒,并且有许多使用 Qt 构建的应用程序(开源和商业)。 删除了最后一句话,因为它使本来可以的问题变成了题外话 @Skynet 我不考虑 OpenGl 和 Qt unserios。可能是我选词不好,但我想要的是更符合主流? - 比方说... Someprogrammerdude 我知道反过来对 Unity 来说更自然,但这正是我需要这样做的方式。也许,一个带有接口的-so库,统一实现..?然后另一个 -so 库将控件返回给我的 C++ 代码?问题是,我需要从 C++ 获得控制权,我并不真正关心控制权如何到达 Unity。 (但它应该是原生的,所以没有套接字) 【参考方案1】:

我相信 Unity 是专门为上述目的而设计的,修改它可能会非常困难。

说实话,您创建的动画和模型越好,您的图形就会越好(对于任何游戏设计引擎)。不确定这是否与问题有关,但内置的图形程序只是工具。制作出色的游戏需要设计。

【讨论】:

以上是关于从 C++ 启动 Unity(解耦控制和可视化)的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D--武器可视化窗口(支持移动和电脑设备)

(转)Unity控制反转和依赖注入

Unity3d如何写一个用可视化的按钮控制物体的显示和隐藏的脚本?

Unity3d如何写一个用可视化的按钮控制物体的显示和隐藏的脚本?

C零基础课程-01-从C程序到可执行文件的过程

MATLAB实战系列(三十七)-MATLAB基于PQ解耦风电场并网潮流计算