ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:19.98KB ,
资源ID:1411276      下载积分:8 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/1411276.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2023年基于Unity3D的VR交互实现方法研究.docx)为本站会员(g****t)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2023年基于Unity3D的VR交互实现方法研究.docx

1、基于Unity3D的VR交互实现方法研究何燕红 孙丽娟 刘宝丽 刘海艳【】VR作为一种计算机仿真系统,已经开始由单一向多元、由分立向融合方向演变,应用产业也在不断的扩大。本文对利用Unity3D引擎实现VR交互的方法进行了分析和探讨,着重阐述了射线交互方法的实现过程。【关键词】Unity3D;VR;交互1 VR介绍1.1VR根本概念VR虚拟现实技术是一种能够创造和体验虚拟世界的计算机模拟系统。它能够允许使用者在虚拟空间中体验一个模拟人类视觉、听觉触觉等感官的虚拟场景;虚拟现实是对真实世界的模拟,一方面它能对现实环境作逼真的描述,另一方面还能使得人们在观察虚拟环境的时候犹如身临其境,可以与之进行

2、交互。1.2VR技术的开展趋势目前,VR技术已经广泛应用于城市规划、室内设计、工业仿真、古迹复原、桥梁道路设计、房地产销售、旅游教学、水利电力、地质灾害、教育培训等众多领域,让一些在现实条件中难以演练难以实现的事情,可以通过VR技术进行实现,为更多的行业提供更多的可能。1.3VR技术的特征1多感知性,是指视、力、触、运动、味、嗅等感知系统。2交互性,是指当人处于虚拟世界时,依然可以像在现实中一样,通过触碰、使用某些具体物品,感受到所用物品存在于人与物品之间的互动信息。3设想性,指人处于虚拟世界,将所想的物品所做的事情展现在虚拟世界里,甚至在虚拟世界中还可以把在现实世界不可能存在的事和物都呈现出

3、来。2 VR交互设计要素2.1VR的交互方式在虚拟现实的情境中,交互的方式主要分为以下4种:视线交互、按键交互、射线交互与碰撞器交互。其中,视线交互仅需头戴式显示器即可实现交互,手柄按键交互需要判断手柄按键是否按下以及按下的力度,手柄射线交互需要获取手柄当前的坐标和旋转角度再配合手柄按键来实现射线与物体的交互,手柄碰撞器交互那么需要获取手柄当前的坐标以及其附带的碰撞器组件并判断是否与物体进行碰撞之后才能实现与物体的交互。2.2VR用户界面的操作方式1使用准星。在VR环境中,摄像头的控制权限完全掌握在使用者手中,当摄像机本身动作与输入有差异或使用者视线未处于头戴式显示设备的中央时,会破坏使用者沉

4、浸感,所以要保证十字形或者圆形的准星放置使用者的正前方。进行交互时将准星悬停在可交互对象上,弹出提示信息以提示使用者对象可交互。2使用恰当的视觉深度。和一般应用程序使用的UI不同,VR的UI具有纵深属性。因此,如果在VR中与UI的内容过近的话,就无法看清UI的全貌,但是,如果UI太远,用户那么无法看清UI中包含的内容。同时,文本的大小和UI元素的比例也会影响用户体验。3使用固定的速度。VR的变速运动对用户体验有负面影响,就人体生理结构看,视觉信息是通过眼睛获取并反响到前庭系统的。当眼睛的感知与前提系统不一致时,用户会感到恶心或眩晕,这种不适在VR环境下的主要原因是眼睛感知到了速度的变化,而前庭

5、系统却没有相应的感觉,从而导致不适,这和晕动病的原理一致,所以尽可能防止在VR环境中使用变速运动。3 VR交互功能的实现因为在常见VR工程开发中一般采用Google VR,借助Unity3D VR平台实现,使用与其配套的SDK和Google Cardboard进行工程体验,所以本文针对射线交互进行研究。3.1模拟头部的转动在Unity3D引擎中实现的VR的交互时,可采用第一人称,用相机模拟用户的头部,实现仿人类视线和头部转动。在实现时,需要设置上限最大视角,根据鼠标移动的快慢,获取相机左右旋转的角度;根据鼠标移动的快慢,获取相机上下旋转的角度,并对角度进行限制。功能实现局部代码为:float

6、rotationX=transform.localEulerAngles.y+Input.GetAxis“Mouse X x sensitivityX;rotationY+=Input.GetAxis“Mouse YxsensitivityY;rotationY=Mathf.ClamprotationY,minimumY,maximumY;transform.localEulerAngles=new Vector3-rotationY,rotationX,0;this.transform.Translatenew Vector3Input.GetAxis“Horizontal,0,Input.

7、GetAxis“VerticalxTime.deltaTime;3.2视线交互相机发射射线进行交互,检测到有交互对象,那么去获得它身上的功能脚本,获取成功后开始计时,到达3秒,触发功能。假设用户中途离开,那么重新计时。准星能够吸附到对象,没有交互对象时,重置准星的位置。功能实现局部代码为:Ray ray=new Raytransform.position,transform.forward;RaycastHit hit;ifPhysics.Raycastray,out hit,100canvasPoint.transform.localScale=hit.distancexcanvasOrig

8、inalScalex0.05f;canvasPoint.transform.position=hit.point;canvasPoint.transform.forward=hit.normal;ifhit.transform.gameObject!=curInteractiveObjifcurInteractiveObj!=nulloldInteractiveObj=curInteractiveObj;oldobjDoing=oldInteractiveObj.GetComponent;ifoldobjDoingoldobjDoing.leave;curInteractiveObj=hit.

9、transform.gameObject;objDoing=curInteractiveObj.GetComponent;ifobjDoingobjDoing.hovered;elsecounttime+=Time.deltaTime;ifcounttimegazedurationtimereticleImage.fillAmount=counttime/gazeDurationTime;.4 結语本研究阐述了射线交互的实现方法,用相机模拟用户头部发射射线进行交互,检测交互对象是否有触发事件,并进行事件交互。在使用准星时,需要立体渲染制造视觉深度,并要保持恒定的速度。通信刘海艳参考文献:1周晓成,张煜鑫,冷荣亮.虚拟现实交互设计M.化学工业出版社,2023.2张胜男,高如玉,高权.基于全景图的科普场馆漫游系统设计 J.电子世界,20232:150-152.3误雁波.著 Unity 3D平台AR与VR开发快速上手M.清华大学出版社,2023.

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2