将Unity与Eclipse集成 - 如何遵循“官方”教程的说明?

时间:2012-01-26 17:11:11

标签: android eclipse unity3d

我已经阅读了有关如何将针对Android的Unity3D项目集成到eclipse中的所有文档。我想这样做的原因是能够在我自己的“普通”Android应用程序中调用Unity3D Activity。

好吧,我尝试按照listed on this tutorial的步骤进行操作。 使用我能想象到的所有组合,我做了以下几点:

  1. 我使用Unity Android项目并在Unity中构建它 IDE),然后将/Temp/StagingArea/文件夹复制到另一个位置。

  2. 我使用现有来源创建了一个新的Android项目, 设置StagingArea副本文件夹的位置。这将是 Android库项目。检查属性上的“is Library” - > Android系统。

  3. 再次,我创建一个Android项目,导入previusly创建 Android库项目和classes.jar

  4. 将<{1}}文件夹内容从库项目移动到 “活动”项目。它有两个子文件夹assetbin

  5. 我修改生成的Activity以扩展libs和 删除onCreate方法的setContent行。改变 包以匹配Unity Player包ID。

  6. 将相应的行添加到清单,基本上是那些 图书馆项目。

  7. 所以一切都编译没有错误,我可以运行项目,显示启动画面,然后是黑屏,正确播放Unity场景的声音。 logcat显示以下错误:

    UnityPlayerActivity

    提一下......阅读这两个SO问题:12。它们似乎已经成功,因此可以实现遵循这些步骤(或类似步骤)。

    我还发现了有用的this topic on the Unity3D forum,它基本上以更清晰的方式描述了相同的过程。

    有没有人遇到过这个问题?有任何建议或替代方案吗?

    问候。

3 个答案:

答案 0 :(得分:8)

对于任何绊倒这个的人来说,Unity3d与android eclipse项目的集成在之前的版本(3.5)中被打破了!

使用较新版本的Unity(使用3.5.2成功测试),these steps之后一切正常。

如果要定义自己的活动或在片段中使用Unity,可以直接使用UnityPlayer类。为此,您可以查看Unity Forum中提到的 [UNITY_INSTALLATION] \ Editor \ Data \ PlaybackEngines \ androidplayer \ src \ com \ unity3d \ player

或者只是尝试这个适用于我们的代码:

    UnityPlayer mPlayer = new UnityPlayer(getActivity()); // Put your activity object here
    int glesMode = mPlayer.getSettings().getInt("gles_mode", 1);
    boolean trueColor8888 = false;
    mPlayer.init(glesMode, trueColor8888);

    // Get the view - e.g. to return from the fragment method onCreateView:
    View view = mPlayer.getView();

更新:第一个链接不再在unity3d支持页面上提供,但论坛条目也包含所有必需的步骤!

答案 1 :(得分:1)

我面对同样的事情。发现在统一项目集成之上需要更多与qcar相关的东西。 它主要链接Qcar库和修改清单活动。 看看这里 https://ar.qualcomm.at/arforums/showthread.php?t=1243

然而,对我没什么帮助。仍然得到同样的错误。有点困惑。

答案 2 :(得分:0)

SO上还有另一页提出这个问题。他们声称已经在高通论坛上获得了答案,与上述论坛不同:Unable to find QCARWrapper