如何使用 Unity3D 让网络摄像头自动对焦
Posted
技术标签:
【中文标题】如何使用 Unity3D 让网络摄像头自动对焦【英文标题】:How to ask webcam to auto focus with Unity3D 【发布时间】:2013-09-29 09:13:48 【问题描述】:目前,我正在使用 Unity3D 开发一些增强现实移动应用程序。性能受图像质量影响。
有没有办法让网络摄像头使用 Unity3D 自动对焦?
【问题讨论】:
嗨flyzhao,你成功了吗?您是否强制网络摄像头或设备摄像头从 Unity 中聚焦? @Joshua 我现在不在处理它。但是你可以从资产商店找到一些安卓原生插件。它可能会解决这个问题。另外,我认为 kao 的回答很好。如果您了解一些有关android的原生知识,这将是最好的方法。 【参考方案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
方法来打开相机并设置它的焦点。谢谢以上是关于如何使用 Unity3D 让网络摄像头自动对焦的主要内容,如果未能解决你的问题,请参考以下文章