iBeacon Receiver和Vuforia Autofocus无法在Android平板电脑上运行[Unity3d]

时间:2015-07-09 16:46:23

标签: android unity3d ibeacon vuforia

我有两个问题,关于Vuforia的AR-camera和iBeacon接收器的自动对焦。这些都行不通。

但是,我在Android平板电脑(me173x)上看到了这些问题。 我尝试了3款Android手机和iPhone5,5s和6+。没问题。

开发环境是: MacBookPro-Retina15-Early2012(FullSpec) OSX 10.10.4(最新) Unity 5.1.1p2(最新),专业版(但没有iOS-Pro且没有Android-Pro) Vuforia 4.2.3(最新)

我抓住了终端正在运行的pidcat --min-level w' (水平高于警告),因为这么多日志。

snapshot of terminal

没有其他日志高于警告。

找到有关iBeacon的类链接的错误日志。 平板电脑支持蓝牙4.0和BLE,一些相机应用程序支持自动对焦。

我猜......由于设备架构而导致这些问题。

请帮助我!

P.S。 谢谢你的答复,jacob。

启用自动对焦的代码是:

using UnityEngine;
using Vuforia;
using System;

public class VuforiaARCameraAutoFocusMultiSelect : MonoBehaviour {
    [SerializableAttribute]
    public struct FocusModes {
        public CameraDevice.FocusMode secondary;
        public CameraDevice.FocusMode primary;
    }

    public FocusModes iOSFocusModes;
    public FocusModes androidFocusModes;
    public FocusModes defaultFocusModes;

    void Start() {
        var qcar = FindObjectOfType<QCARAbstractBehaviour>();
        if (qcar != null) {
            qcar.RegisterQCARStartedCallback(OnQCARStarted);
            qcar.RegisterOnPauseCallback(OnQCARPaused);
            Debug.Log("QCARBehaviour Found in current scene");
        } else
            Debug.LogError("Failed to find QCARBehaviour in current scene..");
    }

    /// <summary>
    /// Raises the QCAR started event.
    /// </summary>
    private void OnQCARStarted() {
        Debug.Log("OnQCARStarted");
        SetFocusMode();
    }

    /// <summary>
    /// Raises the QCAR paused event.
    /// </summary>
    /// <param name="paused">true: paused, false: resumed</param>
    private void OnQCARPaused(bool paused) {
        if (paused) {
            Debug.Log("OnQCARPaused");
        } else {
            Debug.Log("OnQCARResumed");
            SetFocusMode();
        }
    }

    private void SetFocusMode() {
        FocusModes modes;
        #if UNITY_IOS
        modes = iOSFocusModes;
        #elif UNITY_ANDROID
        modes = androidFocusModes;
        #else
        modes = defaultFocusModes;
        #endif

        if (CameraDevice.Instance.SetFocusMode(modes.primary))
            Debug.LogFormat("Successfully enabled autofocus mode: {0}", modes.primary);
        else if (CameraDevice.Instance.SetFocusMode(modes.secondary))
            Debug.LogFormat("Successfully enabled autofocus mode: {0}", modes.secondary);
        else
            Debug.LogError("Couldn't enabled autofocus!!");
    }
}

此代码附在“AR相机”上。场景中的游戏对象。

0 个答案:

没有答案