基于unity3d的三维虚拟电脑组装实验系统开发毕业论文(编辑修改稿)内容摘要:

eulerAngles:旋转的欧拉角度数。 localEulerAngles:当前 Transrom 相对于父对象的旋转欧拉角。 localPostion:相对于父对象的位置 localRotation:相对于父对象的旋转。 Parent:此 Transform 的父对象。 Transfrom 的常用方法: DetachChildren:分离所有子对象。 Rotate:指定一定的旋转角度给当前的对象。 RotateAround:让当前的对象绕着某一个指定的点旋转一定的角度。 Translate:让当前对象的位置沿着指定的方向和距离移动。 Vector3 类。 三维向量类,使用它来记录一个物体在三维空间里 X、 Y、 Z 轴上的位置、旋转和缩放信息。 Vector3 类定义了一些静态变量来代表一些常用的三维向量,如 表示的的是 Vector3(0,0,1), 表示的是 Vector3(0,0,1)等等。 在编程过程中可以直接快捷的使用这些变量。 Vector3 的常用属性有: Magnitude:返回当前三维向量的长度(只读)。 Normalized:返回当前向量的标准向量。 X:当前向量的 X 值。 Y:当前向量的 Y 值。 Z:当前向量的 Z 值。 Vector3 的常用方法有: Angle:返回两个 Vector3 向量之间的夹角。 Cross:返回两个 Vector3 向量的叉乘。 Lerp:在两个 Vector3 向量之间线性差值。 基于 Unity3D 的三维虚拟电脑组装实验系统 第 9 页 MoveTowards:直线移动一个点到目标点。 图 9 Transfrom 的类图 Unity3D 的第三方 UI 插件 NGUI NGUI 是严格遵循 KISS原则并用 C编写的 Unity插件,提供了强大的 UI系统和事件通知框架,代码简洁并且易于扩展。 作为目前最受欢迎的 Unity的 UI 插件,甚至完全取代了Unity自身所提供的 UI系统,那么它的特色在哪里呢。 NGUI完全集成到 Inspector 面板中,并且不需要点击 Play按钮就能直观的看到效果。 它基于组件、模块化的特性,使用户只需要为界面空间附加相应的行为就可以 达到目的,而不需要编写码。 除此之外, NGUI还具有十分灵活的事件系统,可以让发杂的 UI占用一个 draw call,还支持光照贴图、法线贴图、折射等特性。 NGUI的使用方式与 Unity的使用方式一样。 使用 Widget Tool可快速创建模版化的控件,也可以从基本组件创建自己的控件。 可以按照开发者的意愿拷贝或者粘贴,还可以把制作好的窗口保存为 Prefab(预制 ,可复用的物体 )。 所有一切都只需要简单的点击操作就可以完成,当需要编写代码让控件产生一些效果时, NGUI 提供了丰富的接口供开发者使用,开发者也可以选择参 考简单的例子胆码,把控件转变为按钮、输入框或者基于时间来改变控件颜色、播放声音和触发动画等等。 要在 Unity中使用 NGUI,必须先导入 NGUI的 unitypackage 包。 成功导入到项目中后,在顶端的菜单栏里可以看到 如图 10所示的 NGUI的菜单栏 : 基于 Unity3D 的三维虚拟电脑组装实验系统 第 10 页 图 10 NGUI 的菜单 开发者可以利用这些功能快捷的创建出自己的 UI系统。 同时 NGUI也提供了一些实例场景共初级开发者学习借鉴 ,如图 11所示。 图 11 NGUI 的示例 UI 材质、灯光和着色器 材质,简单的说就是物体看起来是什么质地。 材质可以看成是材料和质感的结合,在渲染过程中,它代表的是物体表面各种可视属性的结合,比如表面的色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。 着色器的作用就是把物体表面的各种属性结合起来。 Unity内置了有 80多个着色器,能够满足大多数基本场景的渲染。 这些着色器分为标准着色器、透明着色器、透明镂空着色器、自发光着色器、反射着色器五大部分。 开发者可以使用 ShaderLab 语言开发更多自定义的着色器,来满足实际项目的需要。 没有灯光,什么都是不可见的。 因此,给场景物体赋予了材质以后,还需要配合灯光将它展示出来。 Unity内置有四种类型的灯光,它们分别是平行灯光( Directional Light) 、点灯光 (Point Light)、聚光灯( Spot Light)、区域灯光( Area Light)。 平行灯光多用来模拟太阳光,点灯光和聚光灯多用来模拟室内照明装置,区域灯光可以用来制作区域发光体。 在 Unity的工程里创建好一种类型灯光后,可以在监视器( Inspector) 窗口里调节它的具体属性 ,如图 12所示 : 基于 Unity3D 的三维虚拟电脑组装实验系统 第 11 页 图 12 灯光的属性调节 Type 可以切换灯光的类型, Range 改变灯光的照射范围, Color 代表灯光的颜色,Intensity 是灯光的强度, Shadow Type 是指灯光的阴影类型。 4. 虚拟电 脑组装实验系统实现方案 系统简介 本系统是基于 Unity3D 引擎实现的一个帮助实验者完成电脑组装实验的系统。 用户可以通过此系统了解台式机的各种硬件以及这些硬件之间的联系,通过何种方式联合工作的,最后在一个虚拟的场景里,用户可以亲自操纵电脑的各个部件来组装一台电脑。 整个系统分为四个模块。 主界面模块、基础知识模块、硬件展示模块、教程演示模块和实战装机模块。 它们之间的关系如图 13 所示: 图 13 模块关系图 系统程序的运行流程图如图 14 所示: 基于 Unity3D 的三维虚拟电脑组装实验系统 第 12 页 图 14 程序运行流程图 实现方案介绍 虚拟装机系统的核心部分是三维场景摄影机的控制 和控制物体在 XYZ 三个坐标轴上的移动旋转。 输入与摄影机相应的对应表格设计如表 1 所示: 表 1 摄像机控制 输入 响应 ALT+鼠标左键 摄像机以当前目标点为中心旋转 ALT+鼠标滚轮 拉近或者拉远摄像机视角 ALT+鼠标中键 移动摄像机位置 加入 Alt 键的目的是为了区分选中 电脑部件和操控摄像机,控制电脑部件的输入与响应对应的表格设计表 2 所示: 表 2 物体的控制 输入 响应 鼠标左键 +移动 移动物体 ( Gizmo 未显示情况下)鼠标右键单击 显示物体在三个轴向上得 Gizmo 鼠标左键单击 Gizmo 在三个轴向上旋转物体 (Gizmo 显示情况下 )鼠标右键单击 隐藏 Gizmo 基于 Unity3D 的三维虚拟电脑组装实验系统 第 13 页 用户界面方面,我用 NGUI 的摄像机来渲染所有的 UI 界面元素,因为 NGUI 的控件事件响应需要 NGUI 的 Camera 支持。 同时为了 渲染 3D 的场景 ,需要另外架设 一个 3D 摄像机。 系统主界面实现 系统主界面主要是提供进入其他场景的入口, 是一个二维的场景,直接用 NGUI 来搭建就行了,完成的效果如图 15所示 : 图 15 系统主界面 首先界面所有的图片都需要打包成。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。