700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > SteamVR简介(Yanlz+Steam+VR+Unity+AR+MR+XR+立钻哥哥+==)

SteamVR简介(Yanlz+Steam+VR+Unity+AR+MR+XR+立钻哥哥+==)

时间:2019-12-16 16:56:25

相关推荐

SteamVR简介(Yanlz+Steam+VR+Unity+AR+MR+XR+立钻哥哥+==)

##《SteamVR简介》发布说明:

++++“SteamVR简介”:是对SteamVR的一个介绍;(昨天,我们发布了一个“OpenVR&OpenXR”简介,得知SteamVR是依赖于OpenVR的,所以我们今天开始探索一下“SteamVR”,OpenVR是C++接口,通过SteamVR的集成兼容可以得到我们想要的Unity使用的C#接口,这样更有利于Unity项目开发,所以我们将度的重点技术突破点确立为:“SteamVR”,这个主题将会贯穿!)

++++“SteamVR简介”:定位在一个介绍类知识,对于没有SteamVR知识的一个探索总结;

++++OpenVR的Github:/ValveSoftware/openvr

++++OpenXR官网:/openxr

++++SteamVR的Github:/ValveSoftware/steamvr_unity_plugin

##《SteamVR简介》目录

#第一篇:网络杂谈

#第二篇:视频杂谈

#第三篇:文档杂谈

#第四篇:项目杂谈

#第一篇:网络杂谈篇

#第一篇:网络杂谈篇

++++立钻哥哥:“网络杂谈篇”是对SteamVR知识的全网搜索,利用“SteamVR”

++++A.1、SteamVR百度百科

++++A.2、SteamVR插件简介

++++A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析

++++A.4、SteamVR SDK学习笔记

++++A.5、SteamVR2.0插件使用指南

++++A.6、

++++A.7、

##A.1、SteamVR百度百科

++A.1、SteamVR百度百科

++++立钻哥哥:OpenVR是SteamVR API:开发免费使用

++++OpenVR为VR游戏提供统一的数据接口,从而使得VR游戏不用直接与厂商的SDK打交道

++++OpenVR可以独立于游戏来添加扩展新外设;

++++OpenVR的Github:/ValveSoftware/openvr

++SteamVR是依赖OpenVR的

++++立钻哥哥:SteamVR是一个Runtime

++++SteamVR是通过Steam安装在电脑上的,OpenVR是提供API的;

++++通过SteamVR,不同的VR系统(UnityUE等)调用OpenVRAPI来开发应用程序,还可在OpenVR中添加驱动来对接VR硬件;

++++SteamVR平台主要是为VIVE服务的,但是它也兼容了OSVRRiftTouch的驱动;

++OpenVR的API都是以C++接口类方式呈现

++++立钻哥哥:OpenVRAPI都是以C++接口类方式呈现的,而且都是纯虚函数

++++当应用程序初始化系统时,OpenVR会返回该应用程序所使用到的SDK头文件内相匹配的接口;

++++OpenVR新发布的接口版本会兼容以前的接口版本,因此,应用程序不必更新到最新的SDK也可正常使用;

++SteamVR变得越来越开放

++++立钻哥哥:SteamVR变得越来越开放;越来越多的VR头显将“支持Steam”作为卖点之一

++++HTC最早拉上了Valve作为合作伙伴,不仅由于SteamVR本来就是个现成的内容池,Valve对于VR软硬件的固有经验,也成为第三方开发商相继入驻的标杆;

++++雷蛇OSVR最大的意义在于为第三方硬件商提供了捷径,新生产品能够迅速接入最具竞争力的平台;

++++微软宣布Windows VR头显将全部接入SteamVR,这意味着与其合作的联想、宏碁、戴尔等老牌电子产品制造商也快速加入;

++++Oculus RiftPSVR的封闭平台一直为人诟病;(Oculus几乎将钱都花在了游戏内容打造和独占签约上)

##A.2、SteamVR插件简介

++A.2、SteamVR插件简介

++++立钻哥哥:SteamVR可以在Unity Store下载插件

++SteamVR的GitHub

++++立钻哥哥:SteamVR的GitHub:/ValveSoftware/steamvr_unity_plugin

++SteamVR的目录结构

++++立钻哥哥:SteamVR的目录结构

++++[SteamVR/Plugins/]:主要是一些API相关;

++制作VR Camera(VR视角)

++++立钻哥哥:如果需要做一款VR游戏,需要把摄像机调成VR视角

++++[方法1]:使用预制的VR摄像机;

++++[方法2]:将普通的摄像机修改成VR摄像机;

##A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析

++A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析

++++立钻哥哥:汇总Unity3D中导入SteamVR Plugin资源包报错;

++++[0:HmdError_None]:无错误;

++++[1:HmdError_Unknown]:未知错误;

++++[100:HmdError_Init_InstallationNotFound]:在路径注册表中指定的安装文件夹不存在;

++++[101:HmdError_Init_InstallationCorrupt]:在路径注册表中指定的安装文件夹没有bin文件;

++++[102:HmdError_Init_VRClientDLLNotFound]:bin文件夹中没有vrclient.dll或系统对应的动态库;

++++[103:HmdError_Init_FileNotFound]:驱动不能加载;

++++[104:HmdError_Init_FactoryNotFound]:vrclient.dll中的工厂方法找不到,是vrclient.dll出现异常吗?

++++[105:HmdError_Init_InterfaceNotFound]:VR_Init或VR_GetGenericInterface请求的接口不存在,是使用的SDK版本比安装的runtime版本更新吗?

++++[106:HmdError_Init_InvalidInterface]:错误码当前没有被使用;

++++[107:HmdError_Init_UserConfigDirectoryInvalid]:路径注册表中的配置目录不可写;

++++[108:HmdError_Init_HmdNotFound]:HMD没有添加到系统或者HMD没有初始化;

++++[109:HmdError_Init_NotInitialized]:如果VR_GetGenericInterface在VR_Init之前或者在VR_Shutdown之后被调用会返回这个错误;

++++[110:HmdError_Init_PathRegistryNotFound]:VR路径注册文件不能被读;重新安装OpenVR runtime或Steam上的SteamVR应用程序;

++++[111:HmdError_Init_NoConfigPath]:配置路径没有在路径注册表中指定;

++++[112:HmdError_Init_NoLogPath]:log路径没有在路径注册表中指定;

++++[113:HmdError_Init_PathRegistryNotWritable]:VR路径注册表不可写;

++++[200:HmdError_Driver_Failed]:驱动初始化失败,内部错误;

++++[201:HmdError_Driver_Unknown]:驱动由于位置原因失败,内部错误;

++++[202:HmdError_Driver_HmdUnknown]:驱动未检测到HMD,内部错误;

++++[203:HmdError_Driver_NotLoaded]:在该驱动发出请求前,还没有加载,内部错误;

++++[204:HmdError_Driver_RuntimeOutOfDate]:如果一个驱动自带runtime,那么需要更新它的runtime;

++++[205:HmdError_Driver_HmdInUse]:另外一个非OpenVR的应用程序正在使用HMD;

++++[300:HmdError_IPC_ServerInitFailed]:OpenVR不能够启动vrserver;

++++[301:HmdError_IPC_ConnectFailed]:多次尝试后,OpenVR不能链接到vrserver或vrcompositor;

++++[302:HmdError_IPC_SharedStateInitFailed]:vrserver或vrcompositor的共享内存不能够打开;

++++[303:HmdError_IPC_CompositorInitFailed]:OpenVR不能够启动vrcompositor;

++++[304:HmdError_IPC_MutexInitFailed]:OpenVR不能够创建互斥量来与vrcompositor通信;

++++[1000:HmdError_VendorSpecific_UnableToConnectToOculusRuntime]:由于未知原因导致到Oculus runtime的连接失败;

++++[2000:HmdError_Steam_SteamInstallationNotFound]:当前没有使用的错误码;(报错原因:Unity3D中内置的OpenVR和SteamVR驱动版本不对应导致)

##A.4、SteamVR SDK学习笔记

++A.4、SteamVR SDK学习笔记

++++立钻哥哥:分析SteamVR中各脚本的功能

##A.5、SteamVR2.0插件使用指南

++A.5、SteamVR2.0插件使用指南

++++立钻哥哥:随着VR生态的日益增长,以及Valve Knuckles控制器的逐渐完善,SteamVR未来能够提供给用户更多的交互方式,比如手指跟踪和力反馈

++++近期,Valve在Unity资源商店中将SteamVR插件更新到了2.0版:

++概述

++++立钻哥哥:三年前(),SteamVR SDK for Unity插件的第一个版本在Unity资源商店发布,在以后的时间里,VR生态发生了很多变化,比较显著的是出现了很多不同类型的控制器,如下图:

++++随着越来越多的VR设备推出,控制器类型逐渐趋向于碎片化;每当有新的控制器发布,都会给开发者带来一些额外的工作量:游戏项目需要修改交互代码以适配新的设备;

++++从开发层面上来看,不同的控制器具有不同的键值映射,所以,当现有VR应用程序移植到另外一个VR平台的时候,需要针对目标平台进行交互适配;鉴于此,Valve为Unity开发者推出了SteamVR Unity Plugin.0(简称SteamVR2.0),能够使开发者在编程中专注于用户的动作,而不是具体的控制器按键;

++重要更新:Input System

++++立钻哥哥:SteamVR2.0的重要更新是加入了[Input System]

++++推出[Input System]的目的,是为了更加符合OpenXR标准,以及配合即将正式推出的Knuckles控制器;

++++目前多数主流VR平台均加入了OpenXR开放标准:

++++[Input System]与之前处理用户输入有显著的不同,使用[SteamVR Input System],开发人员可以在应用程序之外定义默认的动作并与按键进行绑定,而不需要将输入视为某一特定设备的特定按键;这样新的设备可以快速适配应用程序,无需更改代码;

++++比如:当开发者检测玩家是否抓取某个物体的时候,不是检测Vive等控制器的Trigger键或Oculus Touch控制器的Grip键是否被按下,而是检测预定义的“Grab”动作是否为True即可;(作为开发者,可以在SteamVR中为Grab动作设置默认按键和阈值,当程序运行时,也可修改这些数值以满足玩家的个人偏好);基于这种机制,不光能够解决控制器碎片化的问题,也可以快速适配未来发布的设备;

++动作(Actions)

++++立钻哥哥:[Input System]的核心概念是动作(Action),基于动作的输入系统对于游戏引擎来说更有意义,Unreal一直在沿用这种方案,而Unity目前在开发中的输入系统也将遵循这一原则

++++开发中需要放弃之前关于“按下某个按键发生什么事情”的思想,取而代之的是使用“做出某个动作发生什么事情”的思想;

++++SteamVR2.0将动作抽象为以下6种类型:BooleanSingleVector2Vector3PoseSkeleton等类型;

++++[Boolean]类型的动作代表只有两种状态的动作:TrueFalse,比如抓取(Grab)动作,只有抓取或未抓取两种状态,不存在中间状态;(在Unity中对应类为:SteamVR_Action_Boolean);

++++[Single]类型的动作能够返回0~1之间的数值,比如Trigger键按下到松开的过程;(在Unity中对应类为:SteamVR_Action_Single);

++++[Vector2]类型动作能够返回二维数,比如Touchpad上的触摸或手柄摇杆;使用这样的数值能够控制物体在四个方向的运动,典型的应用是使用Touchpad控制无人机或小车的运动;(在Unity中对应类为:SteamVR_Action_Vector2);

++++[Vector3]类型的动作能够返回三维数值;(在Unity中对应类为SteamVR_Action_Vector3);

++++[Pose]类型的动作表示三维空间中的位置和旋转,一般用于跟踪VR控制器;(在Unity中对应类为SteamVR_Action_Pose);

++++[Skeleton]类型的动作能够获取用户在持握手柄控制器时的手指关节数据,通过返回数据,结合手部渲染模型,能够更加真实的呈现手部在虚拟世界的姿态,虽然不及像Leap Motion等设备获取手指输入那样精确,但是足以获得良好的沉浸感;(在Unity中对应类为:SteamVR_Action_Skeleton);

++立钻哥哥推荐的拓展学习链接(Link_Url)

++++立钻哥哥Unity学习空间:/VRunSoftYanlz/

++++HTC_VIVE开发基础:/VRunSoftYanlz/article/details/81989970

++++Oculus杂谈:/VRunSoftYanlz/article/details/82469850

++++Oculus安装使用:/VRunSoftYanlz/article/details/82718982

++++SteamVR简介:/VRunSoftYanlz/article/details/86484254

++++OpenXR简介:/VRunSoftYanlz/article/details/85726365

++++VRTK杂谈:/VRunSoftYanlz/article/details/82562993

++++VRTK快速入门(杂谈):/VRunSoftYanlz/article/details/82955267

++++VRTK官方示例(目录):/VRunSoftYanlz/article/details/82955410

++++VRTK代码结构(目录):/VRunSoftYanlz/article/details/82780085

++++VRTK(SceneResources):/VRunSoftYanlz/article/details/82795400

++++VRTK_ControllerEvents:/VRunSoftYanlz/article/details/83099512

++++VRTK_InteractTouch:/VRunSoftYanlz/article/details/8310

++++VR实验:以太网帧的构成:/VRunSoftYanlz/article/details/82598140

++++FrameVR示例V0913:/VRunSoftYanlz/article/details/82808498

++++FrameVR示例V1003:/VRunSoftYanlz/article/details/83066516

++++SwitchMachineV1022:/VRunSoftYanlz/article/details/83280886

++++PlaySceneManagerV1022:/VRunSoftYanlz/article/details/83280886

++++Unity5.x用户手册:/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABC:/vrunsoftyanlz/article/details/78630687

++++Unity面试题D:/VRunSoftYanlz/article/details/78630838

++++Unity面试题E:/vrunsoftyanlz/article/details/78630913

++++Unity面试题F:/VRunSoftYanlz/article/details/78630945

++++Cocos2dx面试题:/VRunSoftYanlz/article/details/78630967

++++禅道[zentao]:/VRunSoftYanlz/article/details/83964057

++++Lua快速入门篇(Xlua拓展):/VRunSoftYanlz/article/details/81173818

++++Lua快速入门篇(XLua教程):/VRunSoftYanlz/article/details/81141502

++++Lua快速入门篇(基础概述):/VRunSoftYanlz/article/details/81041359

++++框架知识点:/VRunSoftYanlz/article/details/80862879

++++游戏框架(UI框架夯实篇):/vrunsoftyanlz/article/details/80781140

++++游戏框架(初探篇):/VRunSoftYanlz/article/details/80630325

++++设计模式简单整理:/vrunsoftyanlz/article/details/79839641

++++专题:设计模式(精华篇):/VRunSoftYanlz/article/details/81322678

++++U3D小项目参考:/vrunsoftyanlz/article/details/80141811

++++Unity案例(Vehicle):/VRunSoftYanlz/article/details/82355876

++++UML类图:/vrunsoftyanlz/article/details/80289461

++++Unity知识点0001:/vrunsoftyanlz/article/details/8030

++++Unity知识点0008:/VRunSoftYanlz/article/details/81153606

++++U3D_Shader编程(第一篇:快速入门篇):/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇):/vrunsoftyanlz/article/details/80372628

++++Unity引擎基础:/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发:/vrunsoftyanlz/article/details/78881752

++++Unity物理系统:/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发:/vrunsoftyanlz/article/details/78882034

++++UGUI基础:/vrunsoftyanlz/article/details/78884693

++++UGUI进阶:/vrunsoftyanlz/article/details/78884882

++++UGUI综合:/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础:/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶:/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统:/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染:/vrunsoftyanlz/article/details/78886403

++++Unity数据存储:/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库:/vrunsoftyanlz/article/details/79254162

++++WWW类和协程:/vrunsoftyanlz/article/details/79254559

++++Unity网络:/vrunsoftyanlz/article/details/79254902

++++C#事件:/vrunsoftyanlz/article/details/78631267

++++C#委托:/vrunsoftyanlz/article/details/78631183

++++C#集合:/vrunsoftyanlz/article/details/78631175

++++C#泛型:/vrunsoftyanlz/article/details/78631141

++++C#接口:/vrunsoftyanlz/article/details/78631122

++++C#静态类:/vrunsoftyanlz/article/details/78630979

++++C#中System.String类:/vrunsoftyanlz/article/details/78630945

++++C#数据类型:/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键:/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写:/vrunsoftyanlz/article/details/78630687

++++UnityAPI.Rigidbody刚体:/VRunSoftYanlz/article/details/81784053

++++UnityAPI.Material材质:/VRunSoftYanlz/article/details/81814303

++++UnityAPI.Android安卓:/VRunSoftYanlz/article/details/81843193

++++UnityAPI.AndroidJNI安卓JNI:/VRunSoftYanlz/article/details/81879345

++++UnityAPI.Transform变换:/VRunSoftYanlz/article/details/81916293

++++UnityAPI.WheelCollider轮碰撞器:/VRunSoftYanlz/article/details/82356217

++++UnityAPI.Resources资源:/VRunSoftYanlz/article/details/83155518

++++JSON数据结构:/VRunSoftYanlz/article/details/82026644

++++CocosStudio快速入门:/VRunSoftYanlz/article/details/82356839

++++Unity企业内训(目录):/VRunSoftYanlz/article/details/82634668

++++Unity企业内训(第1讲):/VRunSoftYanlz/article/details/82634733

++++Unity企业内训(第2讲):/VRunSoftYanlz/article/details/82861180

++++Unity企业内训(第3讲):/VRunSoftYanlz/article/details/82927699

++++Unity企业内训(第4讲):/VRunSoftYanlz/article/details/83479776

++++Unity企业内训(第5讲):/VRunSoftYanlz/article/details/83963811

++++Unity企业内训(第6讲):/VRunSoftYanlz/article/details/84207696

++++插件<Obi Rope>:/VRunSoftYanlz/article/details/83963905

++++计算机组成原理(教材篇):/VRunSoftYanlz/article/details/82719129

++++立钻哥哥Unity 学习空间:/VRunSoftYanlz/

--_--VRunSoft:lovezuanzuan--_--

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。