【问题标题】:How to ask webcam to auto focus with Unity3D如何使用 Unity3D 让网络摄像头自动对焦
【发布时间】:2013-09-29 09:13:48
【问题描述】:

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

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

【问题讨论】:

  • 嗨flyzhao,你成功了吗?您是否强制网络摄像头或设备摄像头从 Unity 中聚焦?
  • @Joshua 我现在不在处理它。但是你可以从资产商店找到一些安卓原生插件。它可能会解决这个问题。另外,我认为 kao 的回答很好。如果您了解一些有关android的原生知识,这将是最好的方法。

标签: unity3d camera augmented-reality


【解决方案1】:

据我所知,这在纯 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 here 创建 Java 插件的更多信息。

【讨论】:

  • 嗨 Kao,你确定这是可能的吗?你自己试过吗?我的好像不行……
  • 你能帮我为新的camera2重写这个sn-p吗?我真的很困惑......我只需要enableAutofocus方法来打开相机并设置它的焦点。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多