找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 1495|回复: 5

[Unity3D] Unity3d Vive开发教程: Vive 前置摄像头浅析3——OpenVR自带实例API解析 ...

[复制链接]

该用户从未签到

4

主题

4

帖子

4

积分

LV.1

Rank: 1

积分
4
QQ
发表于 2019-7-8 08:24:41 | 显示全部楼层 |阅读模式
ARial, &quot">这一节将分析API的具体功能及代码调用。
OpenVR 从1.0.0版本起,在OpenVR.cs中包含了CVRTrackedCamera这个类,然而最新版的SteamVR插件(V1.1.0)中尚不包含该类。
在OpenVR最新版本(1.0.2)版本中已包含12个函数,简单的介绍下作用:
GetCameraErrorNameFromEnum:获取错误类型转换成文本名称。
HasCamera:是否有外置相机;
GetCameraFrameSize:获取相机帧缓存大小;
GetCameraIntrinisics:看返回结果是相机的focallength焦距和center中心;
GetCameraProjection:获取相机投影矩阵,znear,zfar;
AcquireVideoStreamingService:申请获取视频流;
ReleaseVideoStreamingService:释放申请;
GetVideoStreamFrameBuffer:获取视频流帧缓存;
GetVideoStreamTextureSize:获取视频流图像尺寸;
GetVideoStreamTextureD3D11:获取D3D11视频流图像;
GetVideoStreamTextureGL:获取GL视频流图像;
ReleaseVideoStreamTextureGL:释放D3D11视频流图像;
自带的实例中用到的只包括以下几个,按程序执行顺序:
HasCamera和GetCameraErrorNameFromEnum。在CQTrackedCameraOpenVRTest::InitOpenVR()函数中;
GetCameraFrameSize和AcquireVideoStreamingService。在CQTrackedCameraOpenVRTest::StartVideoPreview();
GetVideoStreamFrameBuffer。在CQTrackedCameraOpenVRTest::OnDisplayRefreshTimeout();
最后调用CQCameraPreviewImage::SetFrameImage( )将视频流画出来。基本上用这几个函数就可以调用摄像头的图像了。
另外API中有图像类型的枚举变量:
public enumEVRTrackedCameraFrameType
{
   Distorted = 0,
   Undistorted = 1,
   MaximumUndistorted = 2,
   MAX_CAMERA_FRAME_TYPES = 3,
}
各参数获取的图像如下:第一张是Distorted的正常画面,第三章的右上角分辨率是1224x920,但图像扭曲的很厉害,而且边缘也不太清晰。看代码的注释,是说其包含了Invalid的部分图像(将不太清晰部分裁掉了?)不太明白为什么相机拍出来的会有不可用部分,求大神解答!

Unity3d Vive开发教程: Vive 前置摄像头浅析3——OpenVR自带实例API解析 资源教程

Unity3d Vive开发教程: Vive 前置摄像头浅析3——OpenVR自带实例API解析 资源教程

PS1: 在Unity的商店中有Valve公司The Lab 游戏的源码分享,The Lab Renderer。还不知道的赶紧下载学习下吧!之所以提这个是因为里面有24个Vive前置摄像头视频处理的函数,比开源的OpenVR中还多,这算不算泄露了内部版本?!有兴趣的赶紧研究研究啊。
PS2: 如何在Unity中利用API调用摄像头还没攻关,之前有用过WebCamera这个Unity的API去获取图像并作为texture放到场景中。利用OpenVR的API应该是在获取FrameBuffer后,将其保存为texture再放入场景就行。等弄出来以后我会再share具体的工程!

该用户从未签到

1

主题

5

帖子

4

积分

LV.1

Rank: 1

积分
4
QQ
发表于 5 天前 | 显示全部楼层
增强现实,增强现实,增强现实。重要的事情说三遍

该用户从未签到

1

主题

58

帖子

51

积分

LV.2

Rank: 2

积分
51
QQ
发表于 5 天前 | 显示全部楼层
这里竟然还有这么一个关于AR的网站的收藏了

该用户从未签到

0

主题

13

帖子

12

积分

LV.1

Rank: 1

积分
12
QQ
发表于 3 天前 | 显示全部楼层
楼主写的很不错,关于AR的知识受教了

该用户从未签到

1

主题

9

帖子

7

积分

LV.1

Rank: 1

积分
7
QQ
发表于 昨天 09:01 | 显示全部楼层
楼主辛苦了。。回帖是一种美德

该用户从未签到

1

主题

23

帖子

3

积分

LV.1

Rank: 1

积分
3
QQ
发表于 5 小时前 | 显示全部楼层
看帖怎么能不会呢??
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表