虚拟开发 答案_第1页
虚拟开发 答案_第2页
虚拟开发 答案_第3页
虚拟开发 答案_第4页
虚拟开发 答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第1章一、选择题1.D 2.D 3.A二、简答题1.答:参见1.2节,查阅资料。2.答:学习Unity需要安装的软件有:UnityHub、Unity、VisualStudioInstaller、VisualStudio等。3.答:参见1.3.2节。三、操作题略第2章一、选择题1.B 2.A 3.C 4.AB 5.A 6.AC 7.C 8.A 9.A 10.B11.A 12.D 13.C 14.A二、简答题1.略。2.答:参见2.1.3节。3.答:Unity中对象的三种基本变换操作是移动、旋转、缩放,它们的变换线框分别是三个互相垂直的箭头、三个套在一起互相垂直的圆环、三个互相垂直的直线中心和尾部是一个小方块。4.答:Unity编辑器场景视图,二维投影视图包括Front前视图,Back后视图,Left左视图,Right右视图,Top顶视图,Bottom底视图,立体视图包括Perspective透视图和Orthographic正交视图。5.答:左手坐标系和右手坐标系的区别:这两种坐标系的x轴和y轴指向是一样的,都是x正轴水平向右,y正轴垂直向上,但是z轴指向刚好相反,左手坐标系的z正轴指向屏幕里面,右手坐标系的z正轴指向屏幕外面。Unity使用的是左手坐标系,3dsMax使用的是右手坐标系。6.答:网格对象是包含MeshRenderer组件的对象,网格对象可以在场景中被渲染出来,可以被看到。网格对象例子:立方体、平面、圆柱体、导入的复杂模型等。主摄像机和平行光不是网格对象。三、操作题略第3章一、选择题1.B 2.D 3.A 4.B 5.D 6.A 7.B 8.C 9.B 10.D11.B二、简答题1.答:Transform组件的作用是:实现物体的三种变换:移动、旋转和缩放。Transform组件包含的属性有:位置属性,主要包括position和localPosition;角度属性,主要包括rotation、localRotation、eulerAngles、localEulerAngles;大小属性,包括localScale。2.答:Unity脚本生命周期常用方法的执行顺序:Awake、OnEnable、Start、Update、FixedUpdate、LateUpdate、OnDisable、OnDestroy。3.答:Unity脚本中的Awake和start方法在整个生命周期执行1次。update方法的执行次数由游戏项目的当前运行帧速度决定,与游戏项目运行硬件相关。OnEnable方法,当脚本可用时,该方法被调用。当脚本被激活开启或脚本所挂载对象被激活开启时,会触发脚本可用事件,该方法被调用。OnDisable方法,当脚本不可用时,该方法被调用。当脚本取消激活变为禁用或脚本所挂载对象取消激活变为禁用,会触发脚本不可用事件,该方法被调用。4.答:不正确。5.答:print()方法不能使用,因为print()方法是MonoBehaviour类的静态方法,只有MonoBehaviour类的实例或子类才可以直接调用。Debug.Log()方法可以使用。6.答:Unity获取用户输入的途径:①键盘输入②鼠标输入③虚拟按钮输入④虚拟轴输入。(详见3.2.5节)三、操作题略第4章一、选择题1.B 2.B 二、简答题1.答:参见4.1.4和4.1.5节。2.答:包管理器(PackageManager)的作用:提供了更新、更容易集成的资源包管理方案,能够为Unity提供各种增强功能,查看哪些包可用于安装或已经安装在项目中了,可以为每个项目安装、删除或查看包版本、更新包等。3.答:Unity地形中的草添加后,自带风吹效果;树木添加后,没有自带风吹效果,需要通过WindZone风区实现风吹效果。三、操作题略第5章一、选择题1.B 2.A 3.A 二、简答题1.答:预制件Prefab是存储在Assets中的一种资源,是优化系统资源和方便编辑复用大量类似对象的一种措施。也就是说,Unity的预制件系统是创建、配置和存储游戏对象,实现一组相似对象的所有组件、属性值和子游戏对象编辑的可重用资源。创建预制件的方法参见5.3.2节。2.答:通过Resources类动态加载游戏对象资源(预制件)到场景中的步骤流程:把游戏对象资源做成预制件,放在Resources文件夹下,然后通过Resources.Load()方法动态加载出来。3.答:参见表5-1、表5-2、表5-5。三、操作题略第6章一、选择题1.B 2.B 3.C 4.A 5.C 6.D二、简答题1.答:碰撞器:用于检测场景中的游戏对象是否互相碰撞,最基本的功能是使得物体之间不能穿越,还可以用于检测某个对象是否碰到了另外的对象。刚体:在物理力作用下形状不会发生改变的理想化模型,即在受力之后其大小、形状和顶点相对位置都保持不变的物体,无论施加在刚体上的外力如何,刚体任意两点之间的距离在时间上保持恒定,刚体是相对于软体和流体而言的,在虚拟世界中刚体常作为物理模拟的基本对象。物理材质:在现实生活中,每种质地物体的物理属性是有区别的,例如不同物体的质量、摩擦力、反弹系数等物理属性是不同的,物理材质就是指定给物体的数值化的物理属性。2.答:略。三、操作题略第7章一、选择题1.A 2.B 3.B 4.A 5.D 6.B 7.B 8.C 9.D 10.D11.A二、简答题1.答:碰撞检测:碰撞检测主要用于在一个二维或三维空间,有N个运动物体随着时间推移改变位置和姿态,判定一对或多对物体在给定时间域内的同一时刻是否占有相同区域。2.答:Unity中的碰撞器种类:①StaticCollider静态碰撞器;②RigidbodyCollider刚体碰撞器;③KinematicRigidbodyCollider运动学刚体碰撞器;④Trigger触发器。3.答:Unity中实现碰撞检测方法:①实体碰撞检测;②触发碰撞检测;③射线碰撞检测;④角色控制器碰撞检测。三、操作题略第8章一、选择题1.A 2.B二、简答题1.答:使用Mecanim动画系统创建动画的原理:通过动画状态机实现动画的切换和过渡。Mecanim动画系统创建动画流程:导入动画资源,动画剪辑导入动画控制器,编辑动画间的过渡,设置动画过渡条件,编写代码,交互切换动画过渡。2.答:动画剪辑:被导入到Unity中的动画称为动画剪辑(AnimationClip),动画剪辑是Unity动画的最小组成元素,动画剪辑包含一段相对完整的动画,代表了一段单独的运动,动画控制器:(AnimatorController)为角色或其他带动画的游戏对象组织和维护一组动画剪辑,动画控制器定义使用了哪些动画剪辑,能正确引用其中所用的动画剪辑,并使用动画状态机来控制何时以及如何在动画剪辑之间进行混合和过渡。动画控制器可以实现动画剪辑的添加、删除、切换、过渡等效果,把大部分动画相关的工作从代码中抽离出来,方便动画的设计。动画状态:添加到Animator视图中的动画剪辑,称为动画状态。动画状态机:是对动画状态进行控制和管理的一种机制,可视为是一种控制流程图,或者是在Unity中使用可视化编程语言编写的简单程序,动画状态机的重要意义在于,用户可以通过很少的代码实现动画设计。动画过渡:动画从一种状态自然转换到另一种状态的一种实现机制。混合树:一种实现动画状态间过渡的更简洁解决方案。三、操作题略第9章一、选择题1.B 2.C 3.B二、简答题1.答:灯光类型:Unity提供了四种基本灯光类型:平行光(DirectionalLight)、点光源(PointLight)、聚光灯(SpotLight)和面光源(AreaLight)。灯光的主要属性:有类型、颜色、亮度、阴影、投射范围、阴影类型、光斑等。2.答:音频监听:音频监听(AudioListener)组件,该组件默认添加在主摄像机(MainCamera)上,AudioListener组件没有任何属性。音频播放:音频源(AudioSource)组件,用于在场景中播放音频剪辑文件,通常挂载在播放音频的游戏对象上。该组件负责控制音频的播放,通过组件的属性控制音频的播放方式,比如是否循环、音量、音调、以2D或3D或空间混合模式播放、多普勒效应等。3.答:修改游戏对象的颜色:GameObject.Find("游戏对象名称").GetComponent<Renderer>().material.color=Color.red;修改游戏对象的材质图案:GameObject.Find("游戏对象名称").GetComponent<Renderer>().material.mat.mainTexture=材质资源;三、操作题略第10章一、选择题1.A 2.B 3.B二、简答题1.答:UGUI的作用:UGUI是Unity提供的一套原生的可视化GUI开发工具,从Unity4.6版本开始内置到Unity编辑器中,UGUI是一个基于游戏对象和组件的UI系统,使用组件和游戏对象来排列、定位和设置用户界面的样式,UGUI可以提供2D和3D样式的UI效果。UGUI的组成:UGUI由Canvas和EventSystem组成,Canvas画布,包含各种构成UI界面的控件,EventSystem事件系统,实现各种控件的事件响应,以与用户进行交互。2.答:UGUI主要包括哪些控件:UGUI自带有丰富的控件,包括Text文本框、Image图像框、RawImage原图像框、InputField输入框、Button按钮、Toggle选择框、Slider滑动条、Scrollbar滚动条、ScrollbarView滚动视图、Dropdown下拉列表、Panel面板等。3.答:Button控件的使用方法和流程:Button控件主要响应用户的交互操作,Button控件由两个对象组成,Button对象和一个Text子对象,所以Button控件有基于TextMeshPro的Button,也有基于Text的旧版按钮Button(Legacy)。使用流程,首先创建Button控件,然后添加OnClick等事件,编写脚本,最后设置事件响应时调用的脚本中的对应方法。4.答:为按钮添加事件响应的三种方法:①编辑器中可视化编辑,为按钮的Button组件添加OnClick事件,然后添加对象,调用对象上脚本的方法。②通过代码为按钮添加事件监听器,可通过回调函数和Lambda表达式实现。③脚本实现接口IPointerClickHandler中的OnPointerClick(也可以是OnPointerUp、OnPointerDown、OnPointerEnter、OnPointerExit等),注意脚本要挂载到对应的控件上,不用全部挂载,只挂载到一个控件上即可。5.答:Canvas组件三种渲染模式的特点及区别:①ScreenSpace-Overlay(屏幕空间-叠加),画布自适应屏幕尺寸,当调整屏幕大小或更改分辨率时,画布将自动调整大小以匹配屏幕尺寸的变化。UI元素叠加在3D场景对象之上,画布的RectTransform组件参数属性不能调整,不需要摄像机。②ScreenSpace-Camera(屏幕空间-摄像机),该模式类似于“屏幕空间-叠加”模式,但在此渲染模式下,画布被放置在“RenderCamera”属性指定的摄像机前面“PlaneDistance”属性给定的距离,画布的RectTransform组件属性也不能调整。UI控件由该摄像机渲染,因此摄像机的设置会影响UI的外观。如果摄像机设置为Perspective,UI控件(绕y轴旋转一定角度)将以透视方式渲染,并且透视变形量可以通过摄像机的FieldofView属性设置来控制。③WorldSpace(世界空间),在此渲染模式下,画布对象被渲染为场景中的平面对象,其行为与场景中的其他游戏对象一样,画布的大小和方向可以使用RectTransform组件手动设置,UI元素将根据放置在3D场景中的位置,及与其他游戏对象的深度关系进行渲染,而不再总是位于场景游戏对象的前面,其他场景对象可以在画布的后面、前面或穿过。这种模式适用于UI控件为3D世界的一部分的游戏场景。6.答:UIToolkit实现UI设计的原理和流程:UIToolkit由UIDocument、UIToolkit、UIBuilder、EventSystem四部分组成,具体实现流程参见10.6.2。三、操作题略第11章一、选择题1.B 2.B 3.C二、简答题1.答:略。2.答:Navigation导航寻路系统的实现机制:寻路系统需要知道游戏场景中的可行走区域,可行走区域定义了代理(作为组件挂载到玩家)可在场景中站立和自由移动的空间位置集合。在Unity中,代理被描述为圆柱体,因此可行走区域是通过测试代理可站立的位置从场景中的几何体自动构建出来的,然后,这些位置被连接到场景几何体之上覆盖的表面(导航网格NavMesh)。导航网格将组成可行走区域的各个表面存储为凸多边形,凸多边形是一种有用的表示,因为多边形内的任意两点之间没有障碍物。导航系统除了要存储多边形边界,还要存储哪些多边形彼此相邻的信息,这使系统能够推断整个可行走区域。要寻找场景中两个位置之间的路径,

温馨提示

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

评论

0/150

提交评论