【问题标题】:Using Android Studio with Unity在 Unity 中使用 Android Studio
【发布时间】:2018-07-21 01:59:21
【问题描述】:

我想构建一个使用增强现实的应用。老实说,我更喜欢 Android Studio,但我意识到,带有 Vuforia 的 Unity3D 可能是我的最佳选择。我对最好的解决方案感兴趣,在 Android Studio 中构建我的应用程序,但是单击一个按钮(这将是我的主要用例),我打开增强现实项目,我在 Unity 中构建。最好的解决方案是什么?

更新

这是我发现的:

第一种方式:

我在 Unity 中创建我的项目,并导出项目(将模块名称添加到依赖项:



    dependencies{
    compile project(':UnityClasses')
    }

然后将其导入 Android Studio。然后我可以像这样在模块之间交谈:
How-to-call-method-and-return-its-value-with-unityplayer-unitysendmessage

如果我在这里正确,这样我可以通过UnitySendMessageExtension的第三个参数将数据发送到Android Studio中的Unity模块,我可以通过Callstatic方法将数据发送回来。

第二种方式:

Use Unity as a Subview

第三条路

Integrating Unity into Android Studio
任何人都可以帮助我,谁尝试过以上这些,告诉我最好的方法是什么?

标签: c# android android-studio unity3d augmented-reality


【解决方案1】:

Unity 是一个完整的开发解决方案,所以你真的不需要和 android studio 混在一起。

此外,Unity 完全兼容您需要的任何东西,因为它是基于 C# 的,因此除了 Unity 特定的支持之外,任何适用于 C# 的东西也适用于 Unity。

这里是 Unity firebase SDK 的链接:

https://firebase.google.com/docs/unity/setup?gclid=EAIaIQobChMI56nk0-Cb2QIVAilpCh2GOw6zEAAYASAAEgIPZfD_BwE

唯一真正的区别是,如果您不喜欢在 Unity 中使用 50% 的 C# 视觉编程 VS 在 javaandroid 中的编程(这就是我所说的 android studio 中正在发生的事情 ^-^')。

加上 Unity 导出到所有东西,而 android studio 是 android 设备独有的,因此为 Unity 开发有更大的好处。

编辑:

您可以使用原生插件功能从 C# 调用用 java 或 c++ 编写的 Android 操作系统功能:

https://docs.unity3d.com/Manual/AndroidJARPlugins.html https://docs.unity3d.com/Manual/NativePlugins.html

以及用您自己的活动扩展主要活动 https://docs.unity3d.com/Manual/AndroidUnityPlayerActivity.html

当您想要做的不仅仅是游戏,例如建筑可视化或任何其他需要 3D 操作(如 AR)的应用程序时,所有这些功能都可以使用。

【讨论】:

  • 您的答案并不完全正确。添加 Android Studio 或其他 Android IDE 是有原因的,有些事情在 Unity 中是做不到的,特别是如果您需要一些本机代码访问权限。就像您还需要适用于 iOS 的 xcode 和适用于 UWP 的 Visual Studio 一样。您可以在 Unity 中完成大部分工作,但有时您需要编写本机代码。
  • 这也是我的问题。我想做材料设计,很好地规划活动。我不知道它是否可以统一完成。我也想使用设备的gps。有没有办法在我的项目中使用 Android Studio,但是当我点击一个按钮时,完成的 Unity 模块开始运行。
  • 每当我查看 Unity Android 教程时,我只看到,他们将对象和图层放在一起,并且可以正常工作。但是当有人在 Unity 中使用活动时,我从未见过教程。但是请修复我,我会是最快乐的。
  • 已编辑以更好地适应上述要点。我不认为有一种方法可以按照您在 android 中想要的方式在应用程序中运行应用程序,您需要做的是创建 Unity 项目,然后反编译 APK 以手动将代码移动到您想要的按钮中您的“主要”应用程序,但是,如前所述,在 Unity 中您可以一次完成所有操作,这只是一点点跳圈。我更喜欢 Unreal 和 CryEngine,但对于 Unity 提供的绝对多功能性,它是一个非常完整的解决方案,具有市场上一些最广泛的平台支持。
  • 我根据任何其他答案更新了问题。
猜你喜欢
  • 2016-11-09
  • 2018-07-20
  • 2016-08-23
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 2017-09-01
  • 2015-05-31
  • 2017-04-14
相关资源
最近更新 更多