码迷,mamicode.com
首页 > 编程语言 > 详细

Unity3D 调用相机

时间:2019-06-25 20:59:45      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:new   旋转   vat   接口   serial   style   成功   java   直接   

最近开发项目,其中有一个需求是要调用安卓相机实现扫描功能。完了,懵逼了,没搞过,那就问度娘呗。百度出来的答案,基本上都是使用 AndroidStudio 开发一个 jar 包,然后放到 Unity3D 里面使用。这种 方法实现肯定没问题,但是我觉得很不友好,Unity3D 开发人员,平常使用的都是 C# 语言,用 Java 去开发,总少不了踩一堆坑,如果是大佬,那另说。而且有的时候,网上的教程不一定符合自己的需求,改起来也困难重重。

还好 Unity3D 给我们提供了接口,这可省了不少麻烦。而且不仅可以调用手机的相机,电脑的相机也可以调用。逻辑很简单,注释我也写的很详细,下面就直接上代码了:

 1 using UnityEngine;
 2 using UnityEngine.UI;
 3 
 4 public class Test : MonoBehaviour 
 5 {
 6     #region --变量定义
 7     [SerializeField] private Vector2 webCamSize = new Vector2(1920, 1080);
 8     [SerializeField] private int webCamFPS = 20;
 9     [SerializeField] private RawImage targetImage;
10     private WebCamTexture webCamTexture;
11     #endregion
12 
13     #region --系统函数
14     private void Start()
15     {
16         StartCamera();
17     }
18     #endregion
19 
20     #region --自定义函数
21     /// <summary>
22     /// 启用相机
23     /// </summary>
24     public void StartCamera()
25     {
26         //发起使用相机设备权限的请求
27         Application.RequestUserAuthorization(UserAuthorization.WebCam);
28         //如果请求授权成功。
29         if (Application.HasUserAuthorization(UserAuthorization.WebCam))
30         {
31             //获取相机设备。有的设备有多个相机,所以这里返回的是个数组。
32             WebCamDevice[] devices = WebCamTexture.devices;
33             //生成一张相机实时渲染的纹理图。
34             webCamTexture = new WebCamTexture(devices[0].name, (int)webCamSize.x, (int)webCamSize.y, webCamFPS);
35             //将相机画面渲染的UI的RawImage上。
36             targetImage.texture = webCamTexture;
37             //开始渲染。
38             webCamTexture.Play();
39         }
40     }
41     #endregion
42 }

就这么几句话就能调用相机,比上面说的打包 jar 包去调用相机简直不知道简单多少倍。

如果是开发手机端的朋友,肯定会发现,上面这段代码调用相机后,相机的画面显示会有点问题,画面旋转了90度,其实只需要将我们显示用的 RawImage 旋转90度即可。

Unity3D 调用相机

标签:new   旋转   vat   接口   serial   style   成功   java   直接   

原文地址:https://www.cnblogs.com/xiaoyulong/p/11085691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!