摘要:随着科技的不断发展,三维虚拟仿真技术逐渐走到人们的日常生活之中,通过虚拟现实技术对规划好设计图纸尚未实际建设的小区进行虚拟仿真漫游,可以用来评估和预测将来建筑小区的周边环境及相关配套设施,从而降低实际建设不可预见的风险,可以提高效率。本论文选取一个规划小区作为虚拟漫游场景,使用Unity3D引擎作为开发工具,实现了一个建筑漫游系统,具有一定的参考价值。
关键词:虚拟现实;三维漫游;人机交互;Unity3D
1.引言
Unity3D不只是单纯的游戏引擎,而是已经涉及到多种不同领域的一个跨平台的三维游戏与虚拟现实开发工具,该工具支持多脚本语言以及强大的物理引擎等特点。论文通过研究基于Unity3D虚拟仿真漫游,实现小区虚拟场景实时漫游和简单交互行为,也就是按一定的设计路线进行虚拟小区漫游,从而使得整个虚拟建筑小区漫游具有逻辑合理性和可控制性。虚拟仿真漫游,可以让人们身临其境,提前感受未来可能居住的环境,对不同的潜在风险进行合理规避,通过虚拟仿真漫游对代建小区进行评估,具有一定的实用价值。
2.Unity3D漫游系统实现
2.1 Unity3D第一人称控制器FPC控制场景漫游
虚拟小区场景创建完成后,通过贴图烘焙等技术处理后导入Unity3D场景进行编辑,然后从资源管理器直接导入FPC控制器,进行适当的参数调整,主要是漫游速度,转向速度等,就可以通过WSAD和上下左右四个方向键进行方向控制,鼠标晃动改变视角,从而进行360度全方面小区漫游。
2.2用户界面UI创建与实现
Unity3D提供了可视化用户界面设计UGUI,大大提高了开发效率,按一般要求首先设置UI开发分辨率,设定好模板后,添加必要的UI元素,背景图片Image,加载进度条ProgressBar ,事件响应按钮Button等UI组件,并给这些组件设定必要的锚点,从而使整个界面系统能够适应不同的分辨率,从而提高运行效率。按钮事件监听方法如下:
btn.onClick.AddListener (“FunName”); //按钮监听方法
public void OnReturnBtn()
{ SceneManager.LoadScene("MainUI"); } //同步加载场景
IEnumerator AsyncLoading()
{ if (MainUI.isGarage)
{ operation = SceneManager.LoadSceneAsync("Garage"); }//异步加载场景
yield return operation;
}
3.虚拟小区漫游系统的实现
在该虚拟建筑漫游中,操作者只需要通过简单按键和鼠标操作就可以尽心自由漫游。当用户在虚拟场景中用鼠标点击相应按钮时,比如车库或室外按钮,系统就会异步加载相对应的虚拟场景,跳入到场景后实现沉浸式、自由式、可交互的漫游。通过漫游可以实时评估虚拟环境的效果,从而达到预判的目的,改进不足,提高效率。
图一:UI界面
图二:实时漫游效果
4.结语
虚拟漫游仿真系统克服了传统建筑领域制作沙盘模型的缺陷。由于沙盘要经过大比例缩小,因此只能获得小区的鸟瞰形象,无法以正常人的视角来感受小区的建筑空间,更无法获得人在其中行走的真正感觉。同时,在模型制作完成后,很难进行修改,或者修改的成本很高。这就使沙盘模型有很大的局限性。虚拟仿真漫游且观察者可到虚拟场景中任意走动、转身、跳起、仰视、鸟瞰。,大大提高了互动效果,具有一定的实用价值。
参考文献
[1]基于Unity3D的虚拟矿山漫游仿真系统设计与实现[J].金属矿山,2015(04)
[2][郭海新.Unity3D与HTML交互机理的研究[J].煤炭技术,2011(09).
作者简介:郭海新(1974-),男,河北保定人,硕士研究生,副教授,主要研究方向:计算机软件技术、高职教育。
论文作者:郭海新
论文发表刊物:《知识-力量》2019年11月47期
论文发表时间:2019/10/29
标签:小区论文; 场景论文; 建筑论文; 按钮论文; 沙盘论文; 虚拟现实论文; 系统论文; 《知识-力量》2019年11月47期论文;