Unity-VR-XR-MR
文章平均质量分 78
GarFe-Liu
一入IT深似海,程序猿、攻城狮、努力一把架构师,经理干一条,总监搭台子,技术远景CTO
展开
-
SteamVR-线性驱动和环形驱动(LinearDrive、CircularDrive)
其实查看LinearAnimator的源码,可以看出是通过LinearMapping的Value来实现对动画的控制,所以我们在开发当中,我们可以使用自己的方法来通过LinearMapping的Value来实现想要的功能。Rotate GameObject // 该物体是否可以被旋转,默认是可以旋转的,大勾就不能旋转了,但是可以输出一个LinearMapping值。第二步:设置一个把手,新建一个sphere,调整大小,放在cube的一角,并把它作为cube的子物体。原创 2023-04-08 00:15:05 · 497 阅读 · 0 评论 -
SteamVR开发-使用InteractionSystem实现与物体交互
给物体添加物理属性,当抓取的物体扔出时,需要一个物理的属性时,比如弹力球,这时就可以给这个弹力球的BoxCollider添加物理材质(具有弹力作用的材质),就可以实现。3.DetachFromOtherHand //当手柄抓取物体时,相应的其他手柄就要放下物体。给物体添加该组件,就可以实现手柄对物体抓取,同过手柄的Trigger键对物体的抓取和松开。2.DetachOthers //当手柄抓取物体时,该手柄上的物体就要放下。给要操作的物体添加该脚本,当手柄移入物体时,手柄按键操作即可触发以下事件。原创 2023-04-08 00:17:59 · 635 阅读 · 0 评论 -
SteamVR-InteractionSystem-实现配套物体同时拿取(弓和箭)
我们这里新建一个Sphere来作为碰撞区域,这里的Sphere只用来做碰撞区域,它的MeshRender的enable去掉选中,然后添加ItemPackageSpawner组件。生成机制: 当碰撞发生时,Spawner会生成一个物体放在手里,同时生成一个轮廓,当手里物体跟轮廓碰撞再次发生的时候,就手中的预制体脱离手柄,然后在原来的地方生成一个物体的预览。交互过程:当手柄跟碰撞体发生碰撞时,激活生成机制,生成我们需要拿取的物体,然后显示拿起物体的轮廓,当放下时跟这个轮廓碰撞时,会自动脱落手柄。原创 2023-04-08 00:17:26 · 389 阅读 · 2 评论 -
UnityVR交互插件
2、Hmd Transform意味着摄像机Transform,Unity分为了两种形式展现VR场景,一种是由VRCamera渲染的头显显示场景,另一种是由FallbackObjects的Camera渲染的场景,该场景可通过WASD和鼠标左右键控制人物在场景中移动。该交互系统是组件式开发,基本常用的都已组件化,使用时只需对想要实现的功能挂在指定的脚本即可,想要灵活运用就要对这些组件了解,便可以快速实现一些效果。(有比较详细的使用文档,但提供的功能比较少,基本的功能是有实现,但一些写相对深度一点的效果就少了。原创 2023-04-07 23:36:15 · 1074 阅读 · 0 评论 -
VR凝视功能
3. 接着在设置RericleImage,这里有个小特点,由于凝视圈,在触发时会有个旋转等待的效果,这里设置也要按照指定的目录结构设置;其中GazeController是凝视控制类,这里可以通过射线获取到指定物体,并从物体身上获取想要的脚本或属性,然后可以对该物体进行操作和交互;4.然后设置凝视交互的物体和UI,这里以物体(cube)为例,UI设置与此操作一样,给需要操作的UI添加脚本VRGazeItem.cs 并且 要添加啊BoxCollider。在这个目录下放置凝视圈,按照下图目录放置。原创 2023-04-07 23:31:55 · 359 阅读 · 0 评论 -
HTC硬件介绍
其中最重要的是头盔中两个屏幕,用的是比较高端的三星AMOLED屏幕,屏幕尺寸对角线为91.8mm,PPI(每英寸集成的像素)达到了447(像素密度越高表现出来的画面就更细腻)。体验者可以在一个小范围的空间中行走,体验制作好的内容。是通过摄像头不停的采集周围环境的图像来达到设备的姿态估计(比如噪音等一些没用的信息也会影响到它的准确性)。是通过计算机视觉,以及设备自身自带的传感器比如陀螺仪、加速器来实现位置的追踪。不需要外部硬件来定位。由LED阵列和横向纵向的两个马达,马达以非常高的频率扫描场景中的定位。原创 2023-04-07 23:22:38 · 437 阅读 · 0 评论 -
Unity-SteamVR物体交互
脚本中,首先获取手柄引用,运行时,每个TrTrackedObject都有唯一且不重复的ID,通过id即可获取到该Obj的Device,SteamVR为手柄定义了基本的按键操作,SteamVR_Controller.ButtonMask.Trigger(Trigger扳机键、Touchpad触摸板、System系统按钮、Grip侧边按钮、ApplicationMenu菜单按钮,Axis0/1/2/3/4触摸板方向按钮)。以上完成后,点击运行就可以对面前的物体进行操作了。通过以上的了解,下面做个简单的测试。原创 2023-04-07 23:15:17 · 2172 阅读 · 0 评论 -
Unity开发之SteamVR---VRTK简介
另外,对于其它的交互事件,也会提供相应的unity事件处理,比如VRTK_BasicTeleport_UnityEvents(瞬移事件处理)、VRTK_InteractGrab_UnityEvents(抓取事件处理)、VRTK_InteractTouch_UnityEvents(触摸事件处理),对于各事件发生的不同阶段,都会有对应的处理接口,类似于uGUI中Button的OnClick事件处理形式。此外,它表明如果用户踏入不在对象上的游戏区域的一部分,则用户将落到最近的对象。该对象成为控制器的扩展。原创 2023-04-07 23:09:12 · 2975 阅读 · 1 评论 -
HTCVIVE---SteamVR简介
下面这张图,表示了OpenVR和SteamVR的关系,Steam VR基于OpenVR总结出来的一套插件可以说是OpenVR的一个分支,当然Oculus也是根据OpenVR开发出来的,OpenVR只是提供了一套开发AR用到的通用接口,开发者可以根据自己的需要依据OpenVR提供的接口来开发自己所需要的功能。SteamVR Plugin提供的主要是最基本的api,比如一些抓取和事件的调用,但是一些相对高级一点的操作需要在此基础上在深度开发。一、OpenVR 时一套不依赖于特定硬件的API,基于C++开发。原创 2023-04-07 23:10:08 · 963 阅读 · 0 评论 -
OculsQuest投屏方案
如果你缺少权限则会显示unauthorized,如果你什么都没显示或者找不到adb命令,那就是你环境没配置好或者设备没插好,请移步其他文章解决环境问题。运行scrcpy -c 1440:1600:0:0,裁剪为1440x1600分辨率,偏移为0,0进行显示,即可实现单目显示效果,整个屏幕大小是2880x1600,还可以根据自己喜好进行细化调整。首先确保你已经安装好ADB,拥有开发者权限,装好Oculus官方驱动,并且将你要投屏的Oculus Quest的开发者模式开启~无线连接的一连串命令和返回结果。原创 2023-04-07 23:05:59 · 413 阅读 · 1 评论 -
Oculus-Quest2Unity开发
但是注意,Unity现在版本变化快而且更新内容较大,甚至对于XR这块简直是断层式跟新,直接将原来的VR舍弃掉了,所以如果你是从老版本升上来的(2017以前的版本,更新到2020以后的版本),这块改动还是挺大的。Quest终究说下来是个Android设备,所以在发布和运行时都是在Android环境下,所以这里在你安装好Unity后,第一个就是配置Android环境。下载地址:链接:https://pan.baidu.com/s/1uRzKHA0lXfpxfoP4_q_wPw 提取码:garf。原创 2023-04-06 23:19:11 · 826 阅读 · 0 评论 -
(三)GearVR开发应用入门教程:Unity中OculusVR的UI交互
提交了鼠标或触摸点的信息,它会轮询所有可用的raycaster,每个raycaster都会监测自己的组件是否有触发交互事件。在用户点击场景时,raycaster会发出很多用于检测的射线,返回来的结果是一个对象的集合,但是用户肯定不希望一次点击同时响应不同的UI元素,这会混淆操作,而InputModule的职责就是去找到场景中最近的射线检测结果。然后再来看下,我们导入的Oculus Unity集合包中的东西,用Oculus提供的来替换掉我们工程里的部分组件。绑定的用于监测鼠标与GUI元素交互的。原创 2023-04-06 23:15:23 · 617 阅读 · 0 评论 -
(二)GearVR开发应用入门教程:创建Unity项目
b. 选择Create a new keystore,然后点击 Browse Keystore 选择保存签名文件目录,(默认是在工程根目录,user.keystroe, 你也可以修改名称和修改路径,我这里就放在根目录下了)点击保存,回到Unity。(在开发时,这里很郁闷,不选择打出来的apk在Gear上启动不了,还有Oculus那个貌似需要注册开发者账号才可以开发,所以这里如果只加Oculus,又没有注册Oculus账号的话,打出来的apk也是不能使用的。下载你的签名文件,并保存在方便使用的位置。原创 2023-04-06 23:14:34 · 260 阅读 · 0 评论 -
(一)GearVR开发应用入门教程:开发环境搭建
导航栏选择Android SDK 工具-SDK Tools 根据平台选择你要下载的SDK,有两种 Installer_r24.4.1-windows.exe 和 android-sdk_r24.4.1-windows.zip。导入到Unity后,在Project面板有文件夹Oculus和Plugins(如图),Plugins下是发布平台时的Oculus所需的配置文件,在Oculus-VR-Scenes下有Demo工程,可以运行看下效果。这里下载时可能会有Java SDK的最新版本,你可以选择下载最新的。原创 2023-04-06 23:12:49 · 210 阅读 · 0 评论