基于Unity3D的三维虚拟电脑组装实验系统开发毕业论文 精品 联系客服

发布时间 : 星期一 文章基于Unity3D的三维虚拟电脑组装实验系统开发毕业论文 精品更新完毕开始阅读1b9d5a3200f69e3143323968011ca300a6c3f68f

基于Unity3D的三维虚拟电脑组装实验系统

3.3 常用API

Transform类。继承于Component类,用于描述和控制一个三维或者二维物体的位置、旋转和缩放属性,。在Unity的场景中,每一个物体都有一个Transform组件,被用来存储和操控位移、旋转和缩放。Transform允许拥有父对象,子对象的属性基于父对象发生偏移。其类图如图9所示。 Transform的常用属性有:

childCount:当前Transform所拥有的子对象的数量。 eulerAngles:旋转的欧拉角度数。

localEulerAngles:当前Transrom相对于父对象的旋转欧拉角。 localPostion:相对于父对象的位置

localRotation:相对于父对象的旋转。 Parent:此Transform的父对象。 Transfrom的常用方法:

DetachChildren:分离所有子对象。

Rotate:指定一定的旋转角度给当前的对象。

RotateAround:让当前的对象绕着某一个指定的点旋转一定的角度。 Translate:让当前对象的位置沿着指定的方向和距离移动。

Vector3类。三维向量类,使用它来记录一个物体在三维空间里X、Y、Z轴上的位置、旋转和缩放信息。Vector3类定义了一些静态变量来代表一些常用的三维向量,如Vector3.back表示的的是Vector3(0,0,-1),Vector3.forward表示的是Vector3(0,0,1)等等。在编程过程中可以直接快捷的使用这些变量。 Vector3的常用属性有:

Magnitude:返回当前三维向量的长度(只读)。 Normalized:返回当前向量的标准向量。 X:当前向量的X值。 Y:当前向量的Y值。 Z:当前向量的Z值。 Vector3的常用方法有:

Angle:返回两个Vector3向量之间的夹角。 Cross:返回两个Vector3向量的叉乘。 Lerp:在两个Vector3向量之间线性差值。

第8页

基于Unity3D的三维虚拟电脑组装实验系统

MoveTowards:直线移动一个点到目标点。

图9 Transfrom的类图

3.4 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的菜单栏:

第9页

基于Unity3D的三维虚拟电脑组装实验系统

图10 NGUI的菜单

开发者可以利用这些功能快捷的创建出自己的UI系统。同时NGUI也提供了一些实例场景共初级开发者学习借鉴,如图11所示。

图11 NGUI的示例UI

3.5 材质、灯光和着色器

材质,简单的说就是物体看起来是什么质地。材质可以看成是材料和质感的结合,在渲染过程中,它代表的是物体表面各种可视属性的结合,比如表面的色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。

着色器的作用就是把物体表面的各种属性结合起来。Unity内置了有80多个着色器,能够满足大多数基本场景的渲染。这些着色器分为标准着色器、透明着色器、透明镂空着色器、自发光着色器、反射着色器五大部分。开发者可以使用ShaderLab语言开发更多自定义的着色器,来满足实际项目的需要。

没有灯光,什么都是不可见的。因此,给场景物体赋予了材质以后,还需要配合灯光将它展示出来。Unity内置有四种类型的灯光,它们分别是平行灯光(Directional Light)、点灯光(Point Light)、聚光灯(Spot Light)、区域灯光(Area Light)。平行灯光多用来模拟太阳光,点灯光和聚光灯多用来模拟室内照明装置,区域灯光可以用来制作区域发光体。 在Unity的工程里创建好一种类型灯光后,可以在监视器(Inspector)窗口里调节它的具体属性,如图12所示:

第10页

基于Unity3D的三维虚拟电脑组装实验系统

图12 灯光的属性调节

Type可以切换灯光的类型,Range改变灯光的照射范围,Color代表灯光的颜色,Intensity是灯光的强度,Shadow Type是指灯光的阴影类型。

4. 虚拟电脑组装实验系统实现方案

4.1 系统简介

本系统是基于Unity3D引擎实现的一个帮助实验者完成电脑组装实验的系统。用户可以通过此系统了解台式机的各种硬件以及这些硬件之间的联系,通过何种方式联合工作的,最后在一个虚拟的场景里,用户可以亲自操纵电脑的各个部件来组装一台电脑。

整个系统分为四个模块。主界面模块、基础知识模块、硬件展示模块、教程演示模块和实战装机模块。它们之间的关系如图13所示:

图13 模块关系图 系统程序的运行流程图如图14所示:

第11页