纳金网

标题: unity调用Android摄像机自动调焦 [打印本页]

作者: 烟雨    时间: 2016-3-29 21:07
标题: unity调用Android摄像机自动调焦
可以用在AR项目中
  1. using UnityEngine;
  2. using System.Collections;


  3. public class Tiaojiao : MonoBehaviour
  4. {

  5.     private bool autoFocusSet;

  6.     void Awake()
  7.     {
  8.         autoFocusSet = false;
  9.     }

  10.     public static bool enableAutoFocus()
  11.     {
  12.         AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
  13.         AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
  14.         AndroidJavaClass metaioSDKAndroid = new AndroidJavaClass("com.metaio.sdk.jni.IMetaioSDKAndroid");
  15.         object[] args = { currentActivity };
  16.         AndroidJavaObject camera = metaioSDKAndroid.CallStatic<AndroidJavaObject>("getCamera", args);

  17.         if (camera != null)
  18.         {
  19.             AndroidJavaObject cameraParameters = camera.Call<AndroidJavaObject>("getParameters");
  20.             object[] focusMode = { cameraParameters.GetStatic<string>("FOCUS_MODE_CONTINUOUS_PICTURE") };
  21.             cameraParameters.Call("setFocusMode", focusMode);
  22.             object[] newParameters = { cameraParameters };
  23.             camera.Call("setParameters", newParameters);
  24.             return true;
  25.         }
  26.         else
  27.         {
  28.             Debug.LogError("metaioSDK.enableAutoFocus:Camera not available");
  29.             return false;
  30.         }
  31.     }

  32.     void Update()
  33.     {
  34.         if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home))
  35.         {
  36.             Application.Quit();
  37.         }

  38.         if (Time.time > 1f && !autoFocusSet)
  39.         {
  40.             autoFocusSet = enableAutoFocus();
  41.         }
  42.     }
  43. }
复制代码

作者: victorkin11    时间: 2017-1-15 02:43
这个真不错,收了!




欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5