预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于unity3D的虚拟现实电子积木设计与实现杨昊冉申婧程图峰赖豪东陈杰摘要:电子积木是以积木形式实现电路组装的科教型玩具,其较难的电学项目具有相对复杂的空间结构。将虚拟现实技术应用于儿童科学教育过程中,开发儿童电子积木虚拟仿真系统,利用虚拟环境中灵活的观察视角和动画演示,能够解释复杂电学项目拼装过程,以生动有趣、易于理解的方式实现以儿童为主要受众的电路拼装教学。在该系统中可以使用各类虚拟电子积木组件进行多次拼装尝试,能够培养儿童探索学习的能力,提升学习电路知识的兴趣。关键词:虚拟现实;儿童教育;电子积木1背景电子积木是将导线、灯泡等电子元器件固定在塑料片上,用子母扣做成独立可拼装的配件,在安装底板上像拼积木一样拼装电路组合的一种科教型玩具。其说明书中只有一张拼装完成后的平面图,对于空间结构较复杂的电路组合,无法给予孩子足够的指导。利用虚拟现实技术开发虚拟电子积木软件,能够在虚拟空间中提供易于儿童理解的,更详细、准确、直观的观察视角,实现有效的拼装指导,减少体验过程中的挫败感,使儿童能更好地获得动手完成项目的乐趣。本项目以科教玩具产品电子积木为原型,沿用其富有童趣的电学积木单元,在虚拟环境中模拟真实环境中拼装不同电路实现的物理现象,提供和元件自由拼装功能和逐过程的拼装教学动画。儿童使用此软件能够直观地了解到从简单到复杂电路的拼装过程,观察到电学项目的实现效果,在探究、体验、发现中学习科学[1]。2需求分析虚拟现实又叫虚拟仿真,放眼世界,虚拟现实教育的概念在2004年被正式提出[2],因其具有沉浸感、交互性、想象性三大特征,能够克服传统教学环境限制,在教育上有着极大潜力[3]。从目前各个虚拟仿真教育平台和软件的数量来看,虚拟现实技术多用于高等教育和深层次教育[4-5],其次是初高中课堂、课外教育,如中学物理电路虚拟实验室等有关教育教学实验的仿真软件,针对儿童的虚拟现实教育平台和软件较少,幼教应用主要依托于实体产品,集中在益智玩具市场。电子积木产品将电路组装与富有童趣的积木拼接游戏结合,是一种广受欢迎的寓教于乐玩具,而其受限于实体产品的生产方式,存在难以清晰解释玩法和原理、单款产品提供的电学元件种类有限等问题,虚拟现实技术能够在体现真实物理现象的前提下,为这些问题提供相应的解决方案。3软件功能设计本项目旨在开发出一款能够给儿童足够指导并能进行实验性操作的虚拟仿真教育教学软件,在能给儿童以足够清晰的演示步骤的同时也拥有能够在便携设备上实现模拟现实操作的功能,主要功能模块为电学知识科普、自由模式、教程模式。电学知识科普模式下能够通过图片、文字、语音三种方式对儿童进行电学知识普及,包括电子元件介绍、关于电的基础小知识、安全用电教育和与元件相关的电子知识科普,可以在电子积木游戏之前进行严肃的科学教育。儿童可以在自由模式中,自主选择想要的电子元件,选择方向和位置进行放置,在此模式下可以自由变换视角,多角度的观察电子元件的摆放,如果元件放置正确电路正确,关闭开关,会有对应的电学现象产生。教程模式下可以选择想要学习的电路,然后通过自动播放和分步骤播放两种形式观看教程。4用户界面设计根据儿童身心发展特点[6],为了使得此软件能够适合2-15岁全年龄的儿童使用,用户界面和虚拟场景的设计中相应地考虑到趣味性、易操作性和容错性的平衡。整体场景以明亮的色彩营造充满活力的环境氛围,以简单的小玩具作为装饰性元素,活泼可爱的界面风格充满童趣,能够引起儿童使用软件的兴趣。采用触摸拖拽完成的直接操作作为主要交互方式,使得缺乏软件操作经验的儿童能够像生活中使用手中物品一样直接操作所触碰到的元件,降低软件使用初期的学习成本,激发儿童的探索欲。对于具备软件操作经验的父母来说,在指导孩子时可使用常规的点击交互模式,此模式下积木摆放操作简单,搭建过程得到简化,可以将更多的注意力放在跟孩子的沟通交流上。考虑到容错性,软件中除了搭建操作中的撤销功能外,还在教程等动画解释模块中提供了便捷的分解和回看功能。5软件开发与实现5.1模型和场景制作使用maya和blender两个三维建模软件完成整体模型制作。首先,对元件进行测量,记录每种元件的长宽高数据,并拍照记录其三视图和配色,然后通过maya和blender软件完成元件的模型制作,并且根据实际模型赋予模型贴图,使用灯光渲染进行深度烘焙将深度信息烘焙到模型贴图,最后通过UV展开技术,将模型和贴图导出成单一文件,最后导入到Uinty3d中使用。5.2元件搭建逻辑结构和搭建操作逻辑设计本项目使用unity2019.2以及visual2019中的.net4.0以上编程环境操作。1)底盘实现底盘索引值通过利用一个三维数组来对零件位置信息进行存储,其中x,y分别存储零件坐标信息,z存储零件高度信息,当零件放置時,会基于零件当前高度,零件自身长度