c++ - 从 Visual Studio 应用程序控制 Unity3D

标签 c++ visual-studio-2010 unity3d

我一直在开发使用 3D 引擎来渲染模型的应用程序,主要是使用 Ogre3D。但现在我想开始使用 Unity3D,我想从我正在开发的应用程序中获得像 SDK 这样的控制。我想:

  • 控制相机的位置和方向。

  • 从场景中加载和删除对象。

我很喜欢黑客攻击,所以如果有一个不是那么简单的解决方案,我也很好。

最佳答案

首先,您不能直接将 Unity 集成到另一个应用程序中;它旨在作为独立的可执行文件运行。 (如果这有变化,请纠正我...)

但是,我用 C# 做了类似的事情。在 C++ 中,工作流程非常相似:我从 C# exe 启动一个 Unity 应用程序;命令(例如设置相机位置)随后被序列化并通过网络套接字在 C# 应用程序和 Unity 程序之间交换。根据您设计该网络协议(protocol)的方式,您可以设置和查询各种值。

就我个人而言,我建议通过 JSON 进行序列化,因为 C++ 和 Unity 都有易于使用的 JSON 库。

如果您想真正将 Unity 显示集成到您的应用程序中,事情就会变得更加棘手。就我而言,我必须在无框架窗口模式下启动 Unity,并使用一些 WinAPI 技巧将其重新设置为 WPF 控件的父级。这部分取决于您使用的 GUI 工具包,因此很遗憾我无法在此处提供任何帮助。

关于c++ - 从 Visual Studio 应用程序控制 Unity3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23883874/

相关文章:

c++ - 理解 `std::stack`的容器模板参数

c++ - imwrite opencv文件夹中的图像序列

asp.net - 安装 Visual Studio Express 2010

c++ - 在另一个中挂起和恢复一个 C++ 线程

c++ - OMNET++ 如何保留 AODVRouting 类中的所有功能,但只覆盖 sendAODVPacket 功能?

c++ - 解析二进制文件所需的帮助

c# - 如何通过脚本使 Texture2D 可读

xcode - 使用Xcode 7,Unity 5.2.3f1,iOS 9.1基本SDK构建时出现错误

python - python 3.5 的 Tensorflow 1.7.1 错误

c++ - C++中的静态成员函数错误