51662Unity虚拟现实开发实战习题答案docx21页.docx
《51662Unity虚拟现实开发实战习题答案docx21页.docx》由会员分享,可在线阅读,更多相关《51662Unity虚拟现实开发实战习题答案docx21页.docx(22页珍藏版)》请在冰豆网上搜索。
![51662Unity虚拟现实开发实战习题答案docx21页.docx](https://file1.bdocx.com/fileroot1/2023-4/16/df53cf58-47aa-4a20-9f87-20e1e2446ce9/df53cf58-47aa-4a20-9f87-20e1e2446ce91.gif)
51662Unity虚拟现实开发实战习题答案docx21页
第1章习题
1.填空题
(1)英文VirtualReality的缩写是VR。
(2)2016年被公认为“VR元年”。
(3)本章安装的Unity是个人版。
(4)Unity官方网址是。
(5)Unity引擎的最初版本v1.0是不支持VR开发的。
2.选择题
(1)Unity引擎是(B)公司开发的工具。
A.MicrosoftB.UnityTechnologies
C.EPICGamesD.QianFeng
(2)下面(A)的Unity安装程序属于免费版。
A.个人版B.加强版
C.专业版C.企业版
(3)Unity在(C)年发布了v5.4版本,从此开始支持原生VR游戏和应用开发。
A.2014B.2015
C.2016D.2017
(4)下面的(D)是Unity引擎开发的作品。
A.《王者荣耀》B.《神庙逃亡》
C.《炉石传说》D.前3项都是
(5)获取Unity开发方面的学习资源渠道有(D)。
A.Unity官方网站B.Unity官方社区
C.Unity扣丁学堂D.前3项都是
3.思考题
(1)简述Unity开发的其他应用?
纪念碑谷,巨神狩猎PraeyfortheGods等。
(2)简述VR还可以做什么?
VR房产,VR教育等。
4.实战题
下载并安装Unity2018个人版。
第2章习题
1.填空题
(1)Unity既可以创建3D项目,也可以创建2D项目。
(2)UnityProject视图是用来显示项目中包含的资源和脚本文件的。
(3)Unity支持两种脚本编程,一种是JavaScript脚本,另一种是C#脚本。
(4)Unity创建的C#脚本,都会默认继承Monobehavior类。
(5)Unity创建的C#脚本,有两个默认的方法分别是Start和Update。
2.选择题
(1)(A)是在Windows平台上使用的Unity脚本编辑器。
A.VisualStudio2017CommunityB.VisualStudioforMac
C.AndroidStudioD.Eclipse
(2)下面单词中(B)代表Unity检视视图。
A.HierarchyB.Inspector
C.SceneD.Game
(3)在Unity脚本中最先执行(B)方法。
A.Start()B.Awake()
C.FixedUpdate()D.Update()
(4)若要查看场景中物体对象的详细信息,需要在Unity(D)视图中查看。
A.SceneB.Game
C.ProjectD.Inspector
(5)下面(C)方法是使物体旋转的方法。
A.Translate()B.LookAt()
C.Rotate()D.Find()
3.思考题
(1)如何自定义Unity界面布局并保存?
答:
自定义布局就是通过鼠标对unity编辑器各视图模块的拖拽操作。
单击unity编辑器右上角“Layout”下拉按钮,可在下拉菜单中选择某个布局模式和保存当前界面布局。
(2)简述Unity脚本生命周期有哪些方法?
答:
Awake、OnEnable、Start、FixedUpdate、Update、LateUpdate、OnGUI、OnDisable、OnDestroy。
4.实战题
使用Unity创建3D项目,然后写一个C#脚本程序,完成对一个物体(如Cube)沿着X坐标轴不停旋转的程序。
1usingSystem.Collections;
2usingSystem.Collections.Generic;
3usingUnityEngine;
4publicclassNewBehaviourScript:
MonoBehaviour{
5voidStart(){
6}
7voidUpdate(){
8transform.Rotate(1,0,0);//使当前物体沿着x轴旋转
9}
10}
第3章习题
1.填空题
(1)在C#中关键字字不能用做标识符。
(2)数据类型两大类型分别是值类型和引用类型。
(3)数据类型转换方式分为隐式类型转换和显式类型转换。
(4)本章讲解的C#中的运算符有5种。
(5)C#结结构化程序设计的三种基本结构是:
顺序结构、
选择结构和循环结构。
2.选择题
(1)(A)关键字是用来声明枚举的。
A.enumB.interface
C.delegateD.abstract
(2)下面(C)是引用类型。
A.int类型B.float类型
C.class类型D.Struct类型
(3)下面(A)组都是逻辑运算符。
A.&&、||、!
B.&、|、^、~
C.++、--D.>、=、<
(4)do…while循环语句中循环体至少执行(A)次。
A.1B.0
C.3D.2
(5)直接跳出当前循环,执行下一次循环的语句是(C)。
A.return语句B.break语句
C.continue语句D.goto语句
3.思考题
(1)简述变量与常量的区别?
在声明和初始化变量时,在前面加上const关键字,可以把此变量指定为常量。
常量,即其值在使用过程中不会发生变化的变量。
常量必须在声明时初始化。
变量代表数据的实际存储位置。
各个变量所能存储的数值由它本身的类型决定。
在变量被赋值以前,变量自身的类型必须被明确地声明。
(2)简述值类型有哪几种?
C#值类型包含有:
整型、浮点型、decimal类型、布尔型(bool)、枚举型(enum)、结构类型(struct)。
4.实战题
编程实现1!
+2!
+…+10!
的和。
1classClass1
2{
3staticvoidMain()
4{
5longs=0,m=1;
6for(inti=1;i<=10;i++)
7{
8for(intj=1;j<=i;j++)
9{
10m*=j;//这里是自乘也就是m=m*j
11//当循环为4时m乘4次j,j分别是1234
12//也就是1*2*3*44的阶乘
13}
14s=s+m;
15m=1;//这里为了初始化
16
17}
18Console.WriteLine("1!
+2!
+...+10!
={0}",s);
19Console.Read();
20}
21
22}
第4章习题
1.填空题
(1)在C#编程中以面向对象为编程思想。
(2)面向对象的三大特性分别是封装、继承和多态。
(3)用static关键字修饰的变量是静态变量。
(4)C#多态性中涉及到的四个概念:
重载、重写、
抽象方法和虚方法。
(5)编译时的多态性是通过重载来实现的,运行时的多态性是通过虚成员实现的。
2.选择题
(1)下面(D)不是面向对象的特性。
A.封装B.继承
C.多态D.单例
(2)有一个类B,下面(D)是它的正确构造方法。
A.b(inti){}B.voidB(inti){}
C.voidb(inti){}D.B(inti){}
(3)下列选项中,用于定义接口的关键字是(A)。
A.interfaceB.abstract
C.virtualD.new
(4)C#中方法重载使用关键字(B)。
A.overrideB.overload
C.staticD.inherit
(5)C#中方法重写使用关键字(A)。
A.overrideB.overload
C.staticD.inherit
3.思考题
(1)简述类与对象之间的关系。
答:
(2)简述重写与重载的区别。
答:
重载就是在同一个类中,方法名相同,参数列表不同。
参数列表不同包括:
参数的个数不同,参数类型不同等。
重写就是子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。
在父类中的方法必须有修饰符virtual,而在子类的方法中必须指明。
4.实战题
使用控制台应用程序编程实现求一个矩形的面积和周长,创建一个名为Rectangle的类,给定矩形的长(length)和宽(width),写一个名为GetArea的方法求出矩形的面积,再写一个GetPerimeter的方法求出矩形的周长,最后输出矩形的面积和周长。
1classRectangle
2{
3staticintlength;//矩形的长
4staticintwidth;//矩形的宽
5
6staticvoidGetArea()
7{
8Console.WriteLine("矩形的面积是:
"+length*width);
9}
10staticvoidGetPerimeter()
11{
12Console.WriteLine("矩形的周长是:
"+(length+width)*2);
13}
14
15staticvoidMain()
16{
17length=3;
18width=4;
19GetArea();//输出矩形的面积
20GetPerimeter();//输出矩形的周长
21Console.ReadLine();
22}
23}
第5章习题
1.填空题
(1)Unity是一个强大的3D引擎,它的强大之处就在于它能够模拟实现复杂且完整的3D/2D场景。
(2)地形系统是Unity搭建3D场景的基础平台,。
(3)UI系统是Unity搭建场景中2D界面的基础平台。
(4)Unity有一个Prefab资产类型,允许用户存储一个包含组件和属性的GameObject对象。
(5)Unity导入外部资源的方法有直接拖入法和Project导入法。
2.选择题
(1)(C)是在Unity场景中模拟实现现实世界的物理特性的基础,。
A.地形系统B.UI系统
C.物理系统D.动画系统
(2)下面(D)是3D模型制作软件。
A.MayaB.3DStudioMax
C.BlenderD.以上都正确
(3)Unity导入外部资源的方式有(B)种。
A.1B.2
C.3D.4
(4)下面(C)组可用作游戏打斗音效。
A.AIFF和MP3 格式B.WAV和OGG格式
C.AIFF和WAV格式D.MP3 和OGG格式
(5)关于导出资源包的格式,下面选项正确的是(A)。
A.unitypackage格式B.3ds格式
C.obj格式D.package格式
3.思考题
(1)简述哪些3D模型制作软件可导出Unity支持的3D资源格式。
答:
3Dmax、Maya、Blender、Cinema4D等
(2)简述Unity所支持的音频资源类型,并描述它们的区别。
答:
音频资源类型4种格式较为常见,如下所示:
<1>.AIFF格式 适用于较短的音乐文件可用作游戏打斗音效
<2>.WAV 格式适用于较短的音乐文件可用作游戏打斗音效
<3>.MP3 格式适用于较长的音乐文件可用作游戏背景音乐
<4>.OGG格式 适用于较长的音乐文件可用作游戏背景音乐
4.实战题
(1)新建游戏场景简单使用各大系统模块。
(2)导入和导出资源包练习。
第6章习题
1.填空题
(1)在Unity场景中地形的编辑主要是通过它的Terrain组件进行编辑。
(2)水体通常以Prefab格式的文件存在。
(3)Unity默认创建的3DObject对象都是使用的默认材质,而默认材质的颜色都是白色。
(4)Unity当中有4种灯光源类型,分别是:
点光源、聚光灯、定向灯、和区域灯。
(5)Unity渲染路径设置有4种模式,分别是:
ForwardRendering、DeferredShading、LegacyDeferred、和LegacyVertexLit。
2.选择题
(1)默认创建的地形对象包含(C)个组件。
A.1B.2
C.3D.4
(2)关于Terrain组件的其他设置当中的参数,下面选项正确的是(D)。
A.TerrainHeightB.TerrainWidth
C.TerrainLengthD.TerrainLow
(3)关于Unity提供的基本几何体,下列选项正确的是(D)。
A.Cube(立方体)B.Sphere(球体)
C.Cylinder(圆柱体)D.以上选项都正确
(4)在Unity中自制天空盒需要(C)图片。
A.4B.5
C.6D.7
(5)下面(B)可以模仿太阳下的照射环境。
A.PointlightsB.Directionallights
C.SpotlightsD.Arealights
3.思考题
(1)简述Unity2018版本中内置的几何体。
答:
Cube(立方体)、Sphere(球体)、Capsule(胶囊体)、Cylinder(圆柱体)、Plane(平面)等。
(2)简述Unity当中不同光源可模仿的现实环境有哪些?
答:
点光源可模仿火花或爆炸闪耀的光,聚光灯可模仿手电筒,定向的可模仿太阳光照射的环境,区域灯常用来模仿室内照明。
4.实战题
搭建一个包含花草树木的简单地形,练习添加不同几何体、水体、灯光等物体。
第7章习题
1.填空题
(1)在Unity开发中,软件的UI界面主要是由Unity引擎中UGUI系统完成。
(2)Canvas(画布)是UI布局中所有UI元素呈现的区域。
(3)GraphicRaycaster组件用于对Canvas进行光线投射,以此查看画布上的所有UI元素,并检测UI元素是否被点击。
(4)矩形工具可用于移动,调整大小和旋转UI元素。
(5)Panel是UGUI常用控件之一,主要用来充当UI元素的容器。
2.选择题
(1)Unity引擎的UGUI系统有3个特点,下面描述正确的是(D)。
A.运行效率高,执行效果好B.易于使用和扩展方便
C.不仅快速,而且灵活D.以上都正确
(2)Canvas组件的RenderMode属性有3种模式,下面描述正确是(D)。
A.ScreenSpace–OverlayB.ScreenSpace–Camera
C.WorldSpaceD.以上都正确
(3)CanvasScaler组件的UIScaleMode属性中(B)模式下,UI元素越大,屏幕显示越大。
A.ConstantPixelSizeB.ScaleWithScreenSize
C.ConstantSizeD.ConstantPhysicalSize
(4)Pivot在场景视图中显示为一个蓝色的(C)。
A.圆点B.三角
C.圆圈D.方块
(5)在下面选项中,(C)控件可以用来显示文本。
A.ImageB.Toggle
C.TextD.ScrollView
3.思考题
(1)简述Image与RawImage的区别。
答:
RawImage控件向用户展示一个不可交互的图片,它可以被用作装饰品、图标等。
而Image可以用脚本进行更改。
RawImage可以用所有类型的texture,Image控件的texture却必须是Sprite。
(2)简述Toggle控件常用于哪些情况。
答:
Toggle常用于在屏幕上表示一组开关状态,例如灯的开关、水龙头的开关、交通信号灯的不同状态等
4.实战题
使用UGUI控件搭建用户注册界面,并实现用户注册功能。
第8章习题
1.填空题
(1)PhysX引擎是目前使用最为广泛的物理运算引擎之一,Unity的物理系统的强大也是因为Unity内置该物理引擎。
(2)Rigidbody组件是为物体启用物理行为的主要组件。
(3)Unity内置的原始碰撞器类型可以分为两大类:
2D碰撞器和3D碰撞器。
(4)铰链关节允许围绕特定点和轴旋转,而弹簧关节保持物体分开,但让它们之间的距离有一定的伸缩度。
(5)在Unity开发中,要想实现射线检测触发事件实现某个功能,主要用到的工具类有Physic、RaycastHit和Ray。
2.选择题
(1)在Unity开发中,玩家角色的碰撞器通常就是(B)。
A.BoxColliderB.CapsuleCollider
C.SphereColliderD.WheelCollider
(2)(A)关节限制对象的移动依赖于另一个对象。
A.FixedJointB.HingeJoint
C.SpringJointD.以上都正确
(3)(B)非常适合门的开关,以及用于模拟链条,钟摆等。
A.FixedJointB.HingeJoint
C.SpringJointD.以上都正确
(4)物理材质用于调整碰撞物体的(D)效果。
A.摩擦力B.弹跳
C.重力D.摩擦力和弹跳
(5)在下面的选项中,(D)类用于存储发射射线后产生的碰撞信息。
。
A.PhysicB.Ray
C.ColliderD.RaycastHit
3.思考题
(1)简述固定关节、铰链关节和弹簧关节之间的差异。
答:
固定关节、铰链关节和弹簧关节,它们包含物理特性的组件不同,物理属性自然也不同。
固定关节,限制对象的移动依赖于另一个对象,主要倾向于两物体距离固定不变。
铰链关节,将两个刚体组合在一起,限制它们像通过铰链连接一样移动。
弹簧关节,将两个刚体连接在一起,并在一定限定距离内允许它们之间的距离作弹性改变,就像它们通过弹簧连接一样。
(2)简述Unity布料系统可以模拟哪些现实物体。
答:
衣服、旗帜、桌布等。
4.实战题
新建场景和物体,给其添加碰撞体和刚体,并实现碰撞触发事件。
第9章习题
1.填空题
(1)Unity引擎内置了一个丰富而复杂的动画系统,它有时被称为“Mecanim”动画系统。
(2)AnimationView用于预览和编辑Unity中游戏对象的动画片段。
(3)把一副骨骼的动作指定应用到另一副骨骼中,即实现Retargeting重定向。
(4)Animator组件需要引用AnimatorController动画文件,它定义了要使用的动画片段,并控制它们之间进行混合和转换。
(5)在Unity编辑器中,大家可以通过“Ctrl+6”快捷键打开动画录制窗口。
2.选择题
(1)“Mecanim”动画系统是Unity(A)版本之后的新版动画系统。
A.4.xB.5.x
C.2017.xD.2018.x
(2)下面(C)组件是新版动画组件。
A.AnimationB.AnimationClip
C.AnimatorD.以上都正确
(3)(B)系统能够让用户达到使用骨骼操控实现动画的重利用目的。
A.AnimationB.Avatar
C.AnimatorD.AnimatorController
(4)人物模型的AnimationType属性分(D)种类型供其选择。
A.1B.2
C.3D.4
(5)Avatar系统可以对人物模型的(D)部位进行参数的设置,。
A.头B.手、足
C.躯干D.全身
3.思考题
(1)简述AnimationClip、AnimatorController和Avatar之间的关系。
答:
AnimationClip:
由外部三方工具导入然后自动生成的文件,结果类似一个时间轴动画,是动画系统的基础。
AnimatorController:
将Animations组织起来的状态机。
Avatar:
用于实现重定位功能的系统,(一套骨骼动作复用在多个模型上)。
(2)简述Animation与Animator的区别。
答:
Animation控制一个动画的播放,而Animator是多个动画之间相互切换,并且Animator有一个动画控制器,俗称动画状态机。
Animator利用它做动画的切换是很方便的,但是它有一个缺点就是占用内存比Animation大。
4.实战题
给Login场景中的直升机尾旋翼(TailRotor物体)添加旋转动画。
第10章习题
1.填空题
(1)为了模拟位置的影响,Unity要求声音来自附加到对象的音频源。
(2)Unity支持单声道、立体声和多声道音频资源(最多8个频道)。
(3)音频源的组要组件是AudioSource组件,。
(4)Unity允许用户混合各种音频源,可在AudioMixer窗口对各个音频进行控制。
(5)通过使用音频源或音频侦听器向对象添加不同的音频过滤器来应用音频效果。
2.选择题
(1)Unity可以导入的音频文件格式有(D)。
A.Mp3和OggB.Aif
C.WavD.以上都正确
(2)AudioSource组件的Rolloff模式,下面描述正确的是(D)。
A.对数模式B.线性模式
C.自定义模式D.以上都正确
(3)(B)接收来自场景中任何给定音频源的输入。
A.音频源B.音频侦听器
C.音频片段D.麦克风
(4)用户可以随时创建(A)个音频混音器并激活多个音频混音器,。
A.1或多B.2或多
C.3或多D.多