创建android插件涉及团结

时间:2015-05-12 14:34:47

标签: android eclipse opencv unity3d

我想为Unity创建一个android插件。我使用eclipse创建插件。我在eclipse android项目中有一个桥类。

Bridge Class:

public class Bridge {

//public static Mat mRgb = new Mat(new Size(10,10), CvType.CV_8UC3 );

public static int ReturnInt()
{/*
    for(int i = 0; i < 10; i++) {
        for(int j = 0; j < 10; j++) {

            double values[] = new double[3];
            values[0] = 10;
            values[1] = 10;
            values[2] = 10;
            mRgb.put(i, j, values);
        }
    }
    double[] temp = new double[3]; 
    mRgb.get(5, 5,temp);*/
    return 15;//(int)temp[0];
}

我在eclipse项目的bin文件夹下复制jar文件,粘贴到Assets/Plugins/Android下面。我在下面使用这个jar文件统一:

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
}

另一个.cs文件:

private GUIContent content = new GUIContent ();
void Start()
{
    content.text = "Write here";
}

public void OnGUI()
{
    GUI.Label(new Rect(0,0,Screen.width,Screen.height/20),content);
}

private void Update()
{
    if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); }

    #if UNITY_ANDROID 
    content.text = "Return = " + BridgeForAndroid.ReturnInt();
    #endif
}

当我建立&amp;在Android设备上运行这个统一应用程序,应用程序正常工作。但是当我在eclipse项目中使用OpenCV函数时,应用程序不会返回图像值。我在屏幕上只看到write here

如何在android插件中使用opencv函数进行统一?

ADDITION

包含opencv的Java代码:

public class Bridge {

public static Mat mRgb = new Mat(new Size(10,10), CvType.CV_8UC3 );     
public static int ReturnInt()
{
    for(int i = 0; i < 10; i++) {
        for(int j = 0; j < 10; j++) {

            double values[] = new double[3];
            values[0] = 10;
            values[1] = 10;
            values[2] = 10;
            mRgb.put(i, j, values);
        }
    }
    double[] temp = new double[3]; 
    mRgb.get(5, 5,temp);
    return (int)temp[0];
}

0 个答案:

没有答案