問(wèn)題
不知道大家有沒(méi)有這樣的感受筒扒,在使用Vuforia制作時(shí)候,導(dǎo)入安裝包后次屠,在手機(jī)上使用時(shí)候鏡頭會(huì)很模糊媒楼,往往連識(shí)別對(duì)象都看不清
解決方案
在一開(kāi)始遇到問(wèn)題時(shí)候乐尊,在網(wǎng)上一頓狂搜但也沒(méi)有發(fā)現(xiàn)一個(gè)行之有效的辦法,無(wú)奈只能上官方網(wǎng)站上看有沒(méi)有相關(guān)問(wèn)題的解決辦法划址,還真有扔嵌,傳送門(mén)在此,以為就可以解決了夺颤,但真是坑啊痢缎。官網(wǎng)給的在unity代碼如下:
void Start ()
{
VuforiaBehaviour.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
VuforiaBehaviour.Instance.RegisterOnPauseCallback(OnPaused);
}
private void OnVuforiaStarted()
{
CameraDevice.Instance.SetFocusMode(
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
private void OnPaused(bool paused)
{
if (!paused) // resumed
{
// Set again autofocus mode when app is resumed
CameraDevice.Instance.SetFocusMode(
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
}
根據(jù)官網(wǎng)提示,我首先新建了一個(gè)CameraMode的C#腳本然后把他掛載到了ARCamera之上世澜,打開(kāi)CameraMode的C#腳本独旷,把上述代碼粘貼到腳本中之后,有意思的一幕發(fā)生了寥裂,竟然VuforiaBehaviour報(bào)錯(cuò)了嵌洼,報(bào)錯(cuò)了,報(bào)錯(cuò)了封恰。
后來(lái)盡管一番搜索發(fā)現(xiàn)麻养,Vuforia廠(chǎng)家竟然給插件更新之后,這個(gè)官方解決方法一直沒(méi)有更新诺舔,真是無(wú)言以對(duì)啊鳖昌。原來(lái)把VuforiaBehaviour換成VuforiaARController就可以了。還要在引入using Vuforia的命名空間才可以低飒。
我的完整代碼如下:
using UnityEngine;
using System.Collections;
using Vuforia;
public class CameraMode : MonoBehaviour
{
// Use this for initialization
void Start ()
{
VuforiaARController.Instance.RegisterVuforiaStartedCallback (OnVuforiaStarted);
VuforiaARController.Instance.RegisterOnPauseCallback (OnPaused);
}
void Update ()
{
}
private void OnVuforiaStarted ()
{
CameraDevice.Instance.SetFocusMode (
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
private void OnPaused (bool paused)
{
if (!paused) { // resumed
// Set again autofocus mode when app is resumed
CameraDevice.Instance.SetFocusMode (
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
}
}
這樣寫(xiě)之后许昨,再打包apk到手機(jī)上之后,感覺(jué)一雙瞎了的眼睛好了褥赊,而且是最好的眼睛车要,vuforia的這個(gè)自動(dòng)對(duì)焦十分準(zhǔn)確,真是Nice啊
后記
困擾許久得問(wèn)題終于解決了崭倘,莫名的開(kāi)心翼岁。如果這也解決了你的問(wèn)題,就給個(gè)贊唄K竟狻@牌隆!
也可以查看我的CSDN博客:樓上小宇___home