我已经阅读了有关如何将针对Android的Unity3D项目集成到eclipse中的所有文档.我想这样做的原因是能够在我自己的"普通"Android应用程序中调用Unity3D Activity.
好吧,我尝试按照本教程中列出的步骤操作.使用我能想象的所有组合,我做了以下事情:
我使用Unity Android项目并构建它(在Unity IDE中),然后将/Temp/StagingArea/文件夹复制到另一个位置.
我创建了一个新的Android项目,使用现有源创建,设置StagingArea复制文件夹的位置.这将是Android Library Project.检查属性 - > Android上的"is Library".
再次,我创建了一个Android项目,导入了以前创建的Android库项目classes.jar.
我动了asset从库项目文件夹的内容,以"活动"项目.它有两个子文件夹,bin和libs.
我修改生成的Activity来扩展UnityPlayerActivity和删除onCreate方法的setContent行.更改程序包以匹配Unity Player程序包ID.
将相应的行添加到清单,基本上是库项目中的那些行.
所以一切都编译没有错误,我可以运行项目,显示启动画面,然后是黑屏,正确播放Unity场景的声音.logcat显示以下错误:
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: …Run Code Online (Sandbox Code Playgroud) 您好我正在编写一个使用Unity显示3D模型的Android应用程序.用户能够与模型交互作为选择场景中的对象.我遇到的问题是将数据传回Android活动.
我目前将Unity场景作为子视图执行,有人能指出我如何将数据从场景传递到Android吗?
我是否必须创建一个Java插件,这里解释一下? 链接文字
如果是这种情况,有没有人有这方面的任何教程?原始材料有点缺乏.提前致谢.
我从我的统一代码调用java函数.我的java类中有静态和非静态类型的函数 要访问第一个静态函数,我使用:
AndroidJavaClass plugin = new AndroidJavaClass("com.android.test.TestActivity");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
plugin.CallStatic("InstantiateMe", qwe);
Run Code Online (Sandbox Code Playgroud)
上面的代码运行正常,但在此之后,当我试图执行我的非静态函数时,它实际上没有执行..甚至没有给出任何异常或错误..
我的代码调用非静态函数
AndroidJavaClass plugin = new AndroidJavaClass("com.android.test.TestActivity");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
plugin.Call("Enable", qwe);
Run Code Online (Sandbox Code Playgroud)
帮帮我.我被困在这里.