基于Unity3D三维多媒体课件的设计与制作_第1页
基于Unity3D三维多媒体课件的设计与制作_第2页
基于Unity3D三维多媒体课件的设计与制作_第3页
基于Unity3D三维多媒体课件的设计与制作_第4页
基于Unity3D三维多媒体课件的设计与制作_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开发案例 现代计算机2014.12上 基于 Unity3D 三维多媒体课件的设计与制作 陈军,蔡金玲 (广东技术师范学院教育技术与传播学院, 广州510665) 摘要: 虚拟现实的最大特点是用户可以自然地与虚拟环境进行交互操作。三维多媒体课件是三维建模技术与虚拟现实技术 的紧密结合,在三维模型的基础上提供虚拟现实环境。 从教学应用的角度出发,主要研究如何有效地利用Unity3D和 三维建模软件去设计教学内容,探索机械构造类三维多媒体课件制作的关键技术和步骤,制作出仿真性强、交互控制 灵活、支持360全角度观察,并可随时拆卸装配的三维多媒体课件。 关键词: Unity3D; 多媒体课件; 机械构造; 仿真; 交互控制 文章编号:1007-1423(2014)34-0064-05 DOI:10.3969/j.issn.1007-1423.2014.34.017 0引言 摄影技术是广播电视编导、教育技术专业的核 心基础课程,实践性较强。 摄影技术中有关照相机机 械构造方面的内容和知识比较抽象, 并且数码单反相 机价格较高,零部件精细,对其拆装容易造成相机的损 坏,造成经济上的损失。 传统教学中一般采用图片的方 式剖析相机的机械结构,这种二维平面的教学方式,学 生形成不了直观的感受, 需要通过空间想象来理解相 关知识。 为了更好地表述物体的空间结构和机械构造, 可以利用三维技术以虚拟仿真的形式呈现教学内容。 在讲解照相机的基本构成、 镜头成像原理等内容时,利 用Unity3D把核心的知识点用三维虚拟的方式呈现。 利 用Unity3D制作的三维课件描述相机外部和内部的结 构,用三维空间来表现和描述它们的关系,用户可以从 内部到外部或从外部到内部直观地看清机械的结构12。 Unity3D3是一个用于创建三维视频游戏、建筑可 视化、 实时三维动画等类型互动内容的综合型创作工 具。 Unity3D采用了层级式的综合开发环境,视觉化编 辑,详细的属性编辑器和动态的游戏预览;支持主流的 三维建模软件,其贴图技术、渲染系统符合三维课件对 仿真性的要求,物理系统可以完成复杂的交互控制,符 合本课件的制作要求。 1基于Unity3D的三维多媒体课件的设计 与制作 本文以基于Unity3D开发的课件 数码单反相机 的构造及原理为例,介绍三维多媒体课件制作的关键 技术和步骤。 (1)界面设计 界面设计主要包括用户界面、按钮、装饰等元素的 设计,在Unity3D中统称为GUI设计,即二维的平面图 像或纹理在Unity3D中的显示,Unity3D为GUI设计提 供脚本API,通过脚本可以快速创建菜单。 在此之前, 先通过Photoshop设计好课件的界面、 按钮等元素,接 着把文件复制到Assets资源文件夹下, 通过定位功能 调整用户界面。 界面设计的时候应该尽量的简洁,尽量 采用单一色或渐变色, 例如我们需要制作800600像 素的单色背景图,只要把图片处理成1616像素即可, 通过border进行设置,左右上下各分配8像素,如图1 所示,Unity3D会自动完成计算, 生成800600 的单色 背景图,渐变色也可以按照这种方法进行处理。 这样可 以减少内存的运算,提高课件的运行速度。 趩趲 开发案例 现代计算机2014.12上 ? 图1 border参数设置 在Unity3D中使用图片素材时, 需要对所使用的 图片像素进行控制, 像素过高会直接影响课件运行速 度;像素太低,课件在导出后,会形成马赛克的效果,这 需要课件作者在课件制作过程中对图片的显示效果进 行测试。 此外,由于Unity3D在导入文件时,会对整个 文件模型、图片等信息进行压缩,所以无论是按钮还是 界面,在Photoshop中进行设计的时候,不建议直接在 图片上添加文字,课件中出现的所有文字,都应该在导 入Unity3D后,通过其提供的文字面板中添加文字,这 样才能保证文字的清晰度, 在导出后不会出现字体模 糊的情况。 (2)三维建模与贴图渲染 场景建模方式有两种, 一种是利用Unity3D自带 的功能建模,另外一种是从外部导入模型。Unity3D自 带的建模功能只支持简单模型和碰撞体, 而外部建模 软件,可以创建精度较高的模型。 常用的外部建模软件 有: Maya、3ds Max等。 在完成建模后,模型面数不超过 64k的可以将文件导出为.3ds格式,当模型面数超过这 个数时,可以把文件导出为fbx格式,但需要在导出前 把y轴作为向上轴。Unity3D默认将1单位代表了1m, 导入模型的时候要注意其单位应与Unity3D相匹配, 在3ds Max中导出FBX的时候, 应把其单位设置为 cm, 这样可以直接在Unity3D中使用而无需再调整 FBX的比例因子(默认为0.01)。 此外,看不到的地方不 需要的面要删除,合并断开的顶点,移除孤立的顶点, 合理地优化模型。 图2相机建模过程 建模完成后效果如图2所示, 为了让相机达到更 真实的效果,需要对其进行纹理贴图。 由于Unity3D软 件对模型的材质有特殊的要求,只支持Standard(标准 材质)和Multi/Sub-Object(多维/子物体材质),而且Mul- ti/Sub-Object (多维/子物体材质)里面的子材质必须为 Standard(标准材质),所以这里我们直接采用标准材质 里面的Bitmap(位图)贴图类型。 尺寸上则要求最大不 超过2048, 并且须为2的N次方, 如8、16、64、1024 等。 这里还有几个需要注意的问题:不能以中文汉字命 名,否则会出现名称乱码的情况,且不允许有重名;材 质球与物体名称需保持一致, 父子层级的材质球也必 须保持一致,这样在导入到Unity3D的过程中,材质才 能自行识别;同种贴图须使用一个材质球;不能使用双 面材质。 为了减少对机器内存的占用,建议直接采用展 开UV的方式, 把材质处理到一张贴图上, 如图3所 示。 贴图完成后,相机模型更加的逼真,如图4所示。 图3 UV贴图展开 图4贴图后效果 需要进行拆卸或者有触发交互的的相机部件模型 必须单独为一个对象,并为每一个对象进行命名,对象 与对象之间不能出现重名的情况。 相机各个部件的分 解如图5: ? ? ? 趩趶 开发案例 现代计算机2014.12上 图5模型分解 接着清除场景,删除所有物件的多余对象,包括多 余的材质球,不重要的贴图对象要缩小。 最后将保存好 的文件导出格式为3ds的文件(如果模型面数超过64k 可以导出为.fbx文件),输出的文件名为camera3ds。 (3)交互控制设计 交互控制是三维多媒体课件的核心所在, 通过鼠 标和键盘输入的控制对摄像机和物体进行操控, 实现 不同视角的切换,从而进行全方位、多角度的观察。 本 课件的具体实现过程如下: 相机展示功能的实现 通过鼠标控制摄像机可以实现物体旋转、缩放、平 移的效果,每个物体都有一个变换组件,通过改变变换 组件Transform的positon和Rotation属性实现场景中 所有物体的平移、旋转和缩放,如图6所示。 图6相机旋转效果 用户通过操作鼠标的左键实现旋转效果, 在固定 摄像机位置的情况下旋转物体, 将下列代码放置在 Update()函数中实现。 if(Input.GetMouseButton(0) delta_rotation_x = Input.GetAxis(“Mouse X“) * RotateSpeed; delta_rotation_y = -Input.GetAxis(“Mouse Y“)* RotateSpeed; position =transform.rotation* new Vector3(0,0, distance)+transform.position; transform.Rotate(0,delta_rotation_x,0,Space. World); transform.Rotate(delta_rotation_y,0,0); transform.position=transform.rotation*new Vector3(0,0,-distance)+position; 用户控制鼠标中键实现缩放效果, 这种缩放是通 过控制物体与Camera之间的距离实现的,将下列代码 放置在Update()函数中。 if(Input.GetAxis(“Mouse ScrollWheel“)! = 0) delta_z = -Input.GetAxis(“Mouse Scroll- Wheel“)* ZoomSpeed; transform.Translate(0,0,-delta_z); distance += delta_z; 用户通过鼠标右键实现平移操作, 将下列代码放 置在Update()函数中。 if(Input.GetMouseButton(1) delta_x = Input.GetAxis(“Mouse X“)* Mov- ingSpeed; delta_y = Input.GetAxis(“Mouse Y“)* Mov- ingSpeed; rotation = Quaternion.Euler(0, transform.rotation.eu- lerAngles.y,0); transform.position =rotation * new Vector3(- delta_x,0,-delta_y)+transform.position; 通过摄像机的旋转、缩放、平移操作,可以实现对 模型的全方位观察,了解相机外部构造,认识每一部分 的按键。 相机拆卸功能的实现 拆卸功能的实现不同于之前的旋转、平移、缩放操 作,之前都是对摄像机的操作,而拆卸功能是针对物体 对象本身的操作, 首先应该将三维物体坐标转为屏幕 ? ? 趩趷 开发案例 现代计算机2014.12上 ? 坐标,然后再将鼠标屏幕所在位置坐标转为三维坐标, 计算出物体位置与鼠标之间的距离。 具体实现代码如 下: 图7镜头拆卸效果 varscreenSpace=Camera.main.WorldToScreenPoint (transform.position); varoffset=transform.position-Camera.main.Screen- ToWorldPoint(Vector3(Input.mousePosition.x, Input.mousePosi- tion.y, screenSpace.z); while(Input.GetMouseButton(0) var curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z); varcurPosition=Camera.main.ScreenToWorldPoint (curScreenSpace)+ offset; if(UseAutoPosition transform.position = curPosition; yield; 使用帮助功能的实现 课件的相应部分会提供使用帮助功能, 帮助功能 中详细地说明操作的方法和过程, 为学生提供必要的 导航,帮助学生熟悉课件的相关操作。 软件发布 Unity3D支持多平台发布软件,日常教学中通常发 布为PC平台运行的可执行程序,但随着移动平台的普 及,也可以发布到Android平台和iOS系统平台。 2结语 本文通过三维交互的方式全方位、 多角度展示数 码单反相机的机械构造, 弥补了二维平面图形在机械 构造和空间表现上的不足, 把数码单反相机构造和原 理等知识点详细地展现在学生面前, 符合多媒体课件 教学性、科学性的特点,对提高学生学习兴趣、改进教 学方式和方法起到一定积极的作用。 参考文献: 1陈晓青,王少伟.基于Unity的虚拟现实技术在教育中的应用J.软件导刊(教育技术),2011,12:7678 2刘伟伟.互动式多媒体课件的设计与应用研究D.山东师范大学,2008 3百度百科. Unity3D. /view/2299410.htm?fr=aladdin,2014 4刘嘉夫,齐昕,李前杰,熊鹰,马焕春.基于Unity3D的水污染控制工程多媒体课件开发J.中国教育技术装备,2014,04:98100 5宣雨松.Unity3D游戏开发M.北京:人民邮电出版社,2012:108113 6刘佳.三维虚拟仿真技术在机械结构教学培训中的应用J.科技创新导报,2013,21:70 作者简介: 陈军(1983-),男,广东雷州人,本科,实验师,从事领域为广播电视编导、教育技术实践教学和多媒体资源设计与开发 蔡金玲(1986-),女,广东揭阳人,本科,从事领域为三维设计、虚拟现实设计和多媒体资源设计与开发 收稿日期:2014-11-04 修稿日期:2014-11-14 (下转第72 页) 趩趹 开发案例 现代计算机2014.12上 Design and Making of 3D Multimedia Courseware Based on Unity3D CHEN Jun,CAI Jin-ling (Guangdong Polytechnic Normal University,Guangzhou 510665) Abstract: The biggest characteristic of virtual reality is that the user can naturally interact with virtual environment. The three-dimensional multi- media courseware is closely combined with the technology of 3D modeling and virtual reality technology, providing a virtual reality envi- ronment on the basis of 3D model. From the perspective of teaching application, mainly studies how to effectively use Unity3D and 3D modeling software to design the teaching content, to explore key technology and steps of three-dimensional multimedia courseware on the mechanical construction, and to create three-dimensional multimedia courseware which has the characteristic of strong simulation, flexible and interactive control, supporting 360 full angle observation, and disassembly and assembly at any time. Keywords: Unity3D; Multimedia Courseware; Mechanical Structure; Simulation; Interactive Control Design and Computer Virtual Implementation of Multi-Heater LI Min (College of Business,Shanxi University,Taiyuan 0300

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论