Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Unity3D网络摄像头自动对焦回调?_Android_Ios_Unity3d_Webcam_Autofocus - Fatal编程技术网

Android Unity3D网络摄像头自动对焦回调?

Android Unity3D网络摄像头自动对焦回调?,android,ios,unity3d,webcam,autofocus,Android,Ios,Unity3d,Webcam,Autofocus,我想用Unity相机拍张照片。拍照本身没什么大不了的,但我希望像Android(onAutoFocus(boolean success,Camera Camera))一样,使用自动对焦回调方法拍摄更精确的照片,这样,如果回调返回success true,我就可以拍照了。有没有办法在Unity中实现这一点,或者我需要一些插件?如果有,有人能参考一下吗?非常感谢 assetstore上提供了一个名为Camera Capture Kit的插件,它似乎可以满足您的需要。我们使用该代码使这些功能在Andr

我想用Unity相机拍张照片。拍照本身没什么大不了的,但我希望像Android(onAutoFocus(boolean success,Camera Camera))一样,使用自动对焦回调方法拍摄更精确的照片,这样,如果回调返回success true,我就可以拍照了。有没有办法在Unity中实现这一点,或者我需要一些插件?如果有,有人能参考一下吗?非常感谢

assetstore上提供了一个名为Camera Capture Kit的插件,它似乎可以满足您的需要。我们使用该代码使这些功能在Android和iPhone上都可用

    https://www.assetstore.unity3d.com/en/#!/content/56673
相机捕获套件附带一个即插即用相机应用程序,可启用自动对焦-您可以通过调用来设置自动对焦模式

CameraCapture.UnitySetFocusMode( webCamTextureReferance, FocusModes.Autofocus );
这将表示AVCaptureFocusModeAutoFocus,您应该能够通过在文件Assets/Tastybits/Native/iOS/CameraCapture.mm中的函数initCapture中添加类似以下的代码来触发焦点事件的回调:

[camDevice addObserver:self forKeyPath:@"adjustingFocus" options:flags context:nil];
现在,当在iOS上进行对焦时,摄像头捕获工具包不会给您回叫,所以您必须自己添加它,并使用SendMessage自己回叫unity

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if( [keyPath isEqualToString:@"adjustingFocus"] ){
    BOOL adjustingFocus = [ [change objectForKey:NSKeyValueChangeNewKey] isEqualToNumber:[NSNumber numberWithInt:1] ];
    NSLog(@"Is adjusting focus? %@", adjustingFocus ? @"YES" : @"NO" );
    if(adjustingFocus)
      UnitySendMessage( "FocusController", "FocusChanged", "1" );
    else 
      UnitySendMessage( "FocusController", "FocusChanged", "0" );
}}
嗨,Chris,有没有任何代码(没有获得此资产)可以放入Unity脚本中,当应用程序构建到Android设备上时,这些代码可以强制聚焦?我正在使用一款Unity3D应用程序,当它部署到Android设备上时,会使用摄像头进行字符识别。不过,平板电脑的摄像头自动对焦功能已经失效,因此扫描(字符识别)效果非常差。但我没有Java或Android代码可以将我在网上找到的代码片段放在网上,所以我很困惑如何才能强制聚焦。。。