如何让网络摄像头与Unity3D自动对焦

时间:2013-09-29 09:13:48

标签: unity3d camera augmented-reality

目前,我正在使用Unity3D开发一些增强现实移动应用程序。性能受图像质量的影响。

有没有办法让网络摄像头自动对焦Unity3D?

1 个答案:

答案 0 :(得分:7)

据我所知,纯Unity3D无法实现。

但是,如果你在Android上开发它,你可以在java中编写一个插件,它设置自动聚焦并从Unity3D调用它。

public void enableAutofocus() {
    camera = camera.open();
    Camera.Parameters parameters = camera.getParameters();
    List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
        parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    }
    camera.setParameters(parameters);
}

然后,你必须从Unity3D打电话给你的班级:

public class ExampleClass : MonoBehaviour {
    void Start() {
        AndroidJavaObject jo = new AndroidJavaObject("com.mypackage.Autofocus");
        jo.Call("enableAutofocus");
    }
}

您可以找到有关为Unity3D创建Java插件的更多信息here