【问题标题】:Is it possible to display Unity scene on Windows Forms?是否可以在 Windows 窗体上显示 Unity 场景?
【发布时间】:2023-01-29 11:15:25
【问题描述】:

我想知道是否可以在 Windows 窗体上显示 Unity 应用程序,或者我是否应该寻找另一个游戏引擎或图形库。 我的主要目的是在 GUI 旁边显示一个简单的 3D 场景,该场景取决于所提供数据的信息。事实上,这只是整个项目的一部分,其相关性不足以在 Unity 上开发完整的程序。

我已经看到可以从 Unity 项目创建一个 Visual Studio 解决方案,但我不确定是否可以将它导入我的项目以及如何与它们进行通信。

【问题讨论】:

    标签: winforms unity3d


    【解决方案1】:

    不,如果没有太多最终不值得的修改,这是不可能的,或者更确切地说,不可能。我不确定您是否了解 Unity 的工作原理,我认为您将 C# 与 Unity API 与 Mono 框架与 .NET 框架和 WinForms 混淆了。

    如果你想使用外部数据来更新 Unity 中发生的任何事情,你有很多实际上在本机工作的选项,但 WinForms 不是其中之一。

    1. 其中之一以及执行此操作的方法是使用 Unity GUI。
    2. 第二个是使用可以在 GUI 中修改的内置数据;内置数据可以序列化并保存到 ScriptableObjects
    3. 如果您在构建时不需要任何东西并且只想依赖运行时信息,您可以使用保存在文件中的数据
    4. 如果你想依赖的不仅仅是 JSON、CSV 或其他原始数据,你可以集成一个 SQLLite DB 并让 Unity 读取它
    5. 您可以使用网络传输(以及从网站、本地 Web 服务器甚至 SaaS 下载)
    6. 您可以使用在运行时执行的随机数据

      不要尝试在 Unity 之上添加 ASP、WinForms 或任何其他 Microsoft 层。虽然您可以使用 Azure,但它实际上算作 SaaS,因此可以使用。

      至于在 Unity 中使用 C# Microsoft-only 技术,相信我,构建可以工作的东西的努力是不值得的。是的,您可能会说“好吧,它仍然是 C#,不是吗?”这就像说你可以“编写”一个 Windows 应用程序以在 Linux 下工作,因为“它仍然是 C,不是吗?”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多