方法也简单,在其他地方也可以搜索到答案,就是把运行前把 Vuforia Behaviour
脚本禁用(不要勾选它),然后再在代码中动态控制这个脚本的可用与否:
![](https://img.haomeiwen.com/i1490569/fc5793f8d76301f9.png)
上图中简单放了两个按钮来控制这个AR摄像头的开启和关闭,代码也简单:
using UnityEngine;
public class ButtonController : MonoBehaviour
{
public void OnStartClicked()
{
GameObject.Find("ARCamera").GetComponent<Vuforia.VuforiaBehaviour>().enabled = true;
}
public void OnCloseClicked()
{
GameObject.Find("ARCamera").GetComponent<Vuforia.VuforiaBehaviour>().enabled = false;
}
}
运行起来是这样:
![](https://img.haomeiwen.com/i1490569/895629cffceaa7b6.png)
点击开启,去识别目标,运行正常:
![](https://img.haomeiwen.com/i1490569/53b81a7ecc020c00.png)
点击关闭,摄像头就黑了:
![](https://img.haomeiwen.com/i1490569/0ca0a5b98a485c8d.png)
为了测试流程完整,打包成apk在手机上试试效果:
![](https://img.haomeiwen.com/i1490569/30a47f43d0f2e4b1.png)
![](https://img.haomeiwen.com/i1490569/8894c1bae4b2e56c.png)
你发现没,开机,屏幕是黑的,摄像头未开,但可以看到UI,这点挺好的,连Unity的Camera都不必另外加了,当然具体项目还得考虑需求,可能需要拉好几个Camera也是很可能的。
网友评论