目前,我正在使用Unity3D开发一些增强现实移动应用程序。性能受图像质量的影响。
有没有办法让网络摄像头自动对焦Unity3D?
答案 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。