标题 | 家居漫游系统的设计与实现 |
范文 | 杨琪 黄建明 摘要:为了满足用户对虚拟家居环境的体验需求,设计了一种基于Unity3D的第一人称家居漫游系统,阐明了家居漫游系统中三维视景仿真、漫游和碰撞检测等技术原理,重点讲述了家居漫游系统的功能设计和工作流程,通过对漫游系统的成功测试,完成了家居漫游系统的全部开发过程。家居漫游系统具有仿真度高、操作简单、交互性强等优点。 关键词:计算机应用;漫游;Unity3D;三维交互 中图分类号:TP311 文献标识码:A 0 引言 目前,家居行业、建筑行业、室内设计行业等行业发展迅速,建筑格局、家居设备越来越多样化,用户在面临家居选择时有越来越多的选项,这给家居信息在用户面前的呈现方式带来了新的挑战。 目前市场上商家给用户呈现家居信息的方式主要仍然是传统的图片,或是用户实地查看,这种方式有一些弊端,例如浪费人力,不能查看家居设备在建筑内的摆放等。虚拟现实技术的发展为解决这个问题提供了新的思路和解决办法。本文提出了开发第一人称家居漫游系统的解决方案。漫游系统使用Unity3D三维交互引擎,漫游场景是根据真实家居环境建模得到的虚拟家居场景,使用视景仿真技术使用户身临其境。根据漫游技术和碰撞检测技术原理,本系统制定了明确的功能需求,并设计了系统作业流程。实测结果表明,家居第一人称漫游系统交互直接、简单,用户体验感强,用户接收三维虚拟场景信息更加的快捷和直接。在家居信息化程度和用户对交互体验要求越来越高的今天,是一个很好的解决方案。 1 漫游系统的技术原理 1.1三维视景仿真技术 三维视景仿真系统实现框架图如图1所示。视景仿真主要分为场景模型和场景驱动两部分。 场景建模是模拟真实场景,建立三维模型,主要通过计算机软件或算法程序将模型素材库内的模型和数据转化为计算机上的三维虚拟图像集合。模型建模素材来自于真实场景,图片素材是现实拍摄的图片经过图像处理工具处理得到,或从素材库直接获取,数据素材是实地测量或从建筑图纸中获取。建模素材通过场景建模工具加工成三维模型存入三维视景数据库中。 场景驱动是将三维视景数据库中的三维模型以计算机二维图像的方式呈现给用户,并根据不同的输入参数输出不同的结果。这一过程是三维模型通过视景仿真程序来实现的。 视景仿真的目的是建立虚拟三维环境,在该虚拟三维环境中,模拟现实的声音、光照、环境等,使用户身临其境。 1.2场景漫游技术 虚拟场景中的摄像机为用户提供观察三维场景的视角。漫游技术的核心是通过控制摄像机的位置坐标、旋转角度来实现对三维场景进行可控的预览。Uhity3D中的摄像机结构如图2所示。 模型结构中的锥形区域即为摄像机所提供的视角,距离大于远平面或近于近平面的区域将不会渲染,因此是不可见的。利用摄像机预览场景的一个好处是可以减少系统的资源消耗。在实际渲染时,计算机只需要渲染摄像机视角范围内的场景模型即可,而不需要对其他不可见的模型进行额外的不必要渲染,这就很大程度的提高了系统的性能。因此,需合理的设置摄像机的近平面、远平面和视角范围。 第一人称漫游的本质是控制主摄像机或主摄像机绑定的角色模型,通过主摄像机的视角观察虚拟场景。其中涉及到虚拟世界的三维坐标系、摄像机坐标系和计算机平面二维坐标系的转换。世界坐标系、摄像机坐标系和屏幕坐标系如图3所示。 (3)投影坐标系到图像坐标系的转换是简单的二维坐标转换,根据实际情况的不同会有不同的坐标转换公式,较为基础简单,本文不做详细介绍。 1.3碰撞检测技术 碰撞检测是漫游系统中不可避免的重要环节。碰撞检测的基本思想是给模型外围添加包围盒,通过判断包围盒是否碰触判断碰撞是否发生。常见包围盒的种类如图5所示。 上图中的不同包围盒类型对比如表1所示。 Unity3D使用碰撞包围盒概念,提供内置碰撞器,主要分为原型碰撞器和网格碰撞器,如图6所示。 原型碰撞器精度低,消耗系统资源也相对较少,多用于结构简单或精度要求不高的模型;网格碰撞器精度高,系统开销大,用于少数需要高精度碰撞检测的模型。 2 漫游系统的设计与实现 2.1漫游系统的功能设计 本文研究的漫游系统采用第一人称漫游的方式,最大程度增强用户沉浸感。漫游系统功能要求分为场景漫游和碰撞检测两部分。功能需求如图7所示。 (1)场景漫游。场景漫游要求系统可以根据用户的鼠标、键盘等输入,产生相应的输出,包括方向控制、人物移动、跳跃、奔跑等功能。系统要求可以控制人物漫游到客厅、厨房、卧室等区域。 (2)碰撞检测。系统内的碰撞检测主要包括建筑墙壁的碰撞检测和场景内设施的碰撞检测。系统要求角色在发生碰撞的时候不可以发生模型穿透。 2.2漫游系统的作业流程 单次输入控制角色移动的逻辑如图8所示。控制角色前先判断角色是否着地,如果角色未着地,根据重力计算出角色在y轴方向的位移量。角色着地后,可进行控制。根据用户输入的不同,表现出不同的控制效果。 (1)前进、后退等z轴方向上的位移; (2)左转、右转等绕y轴旋转角度的变化; (3)奔跑、跳跃、静止等人物动作。 模型一次操作完成后的空间位置状态由y轴位移量、z轴位移量和绕y轴旋转角度共同确定。组合连续输入操作虚拟角色,可达到控制角色漫游虚拟场景的功能。 2.3系统测试结果 参照系统功能设计,对系统功能进行测试。控制角色可以去客厅、厨房和卧室,碰撞检测正常,角色控制正常,测试结果如图9所示。 3 总结 本文给出了全新的家居环境第一人称漫游方案。方案使用Unity3D作为虚拟交互引擎,设计了多个场景漫游新功能,并详细分析了漫游系统的控制流程。实测结果表明,本文所研究系统可以为用户提供很好的虚拟家居漫游体验。家居漫游系统为未来智能家居发展方向提供了新的思路,为家居行业、地产业、建筑业等行业的发展方向提供了新的视角。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。