【发布时间】:2015-07-23 05:37:23
【问题描述】:
我想在我的 AR 应用程序中使用 unity android 插件。该应用程序有一个 AR 相机、一个图像目标和一个 3d 对象。
在 ECLIPSE 上:
我在 Eclipse 上创建了一个默认的 android 应用程序。我点击自动构建并检查project name -> proeprties -> isLibrary。我在 Eclipse 项目上创建了一个名为 Bridge 的类。
Bridge.java
package com.tutorial.pluginforunity;
public class Bridge {
public static int ReturnInt() {
return 5;
}
}
团结一致:
我创建了一个BridgeForUnity.cs 文件。内容:
using UnityEngine;
using System.Collections;
using System;
using System.Runtime.InteropServices;
public class BridgeForAndroid : MonoBehaviour {
#if UNITY_ANDROID
//&& !UNITY_EDITOR
public static int ReturnInt () {
AndroidJavaClass ajc = new AndroidJavaClass("com.tutorial.pluginforunity.Bridge");
return ajc.CallStatic<int>("ReturnInt") ;
}
#endif
void Start () {
}
void Update () {
}
}
我编辑附加到图像目标的DefaultTrackableEventHandler.cs。
private void Update() {
#if UNITY_ANDROID
GUI.Label(new Rect(10, 10, 100, 20), "Return = " + BridgeForAndroid.ReturnInt());
#endif
if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); }
}
我在eclipse项目的bin文件夹下复制jar文件。我将其粘贴在 Assets/Plugins/Android 下。运行此应用程序时,我只看到黑屏。
【问题讨论】:
-
您是否尝试过将此代码从
Update移动到OnGUI? -
我通过切换行运行此应用程序推荐此行
GUI.Label(new Rect(10, 10, 100, 20), "Return = " + BridgeForAndroid.ReturnInt());。运行时我看到黑屏。 -
是的,你已经在问题中说过了。不过,您是否尝试过将此代码移至
OnGUI方法? -
对不起 :) 我试过了,我看到了
Return = 5。插件成功运行。我看不到实时摄像头视图。 -
是的,因为您发布的代码中没有任何内容表明您应该看到实时摄像机视图。
标签: java android eclipse plugins unity3d