Unity AR-VR虚拟现实开发基础(第2版)习题及答案汇 第1-11章_第1页
Unity AR-VR虚拟现实开发基础(第2版)习题及答案汇 第1-11章_第2页
Unity AR-VR虚拟现实开发基础(第2版)习题及答案汇 第1-11章_第3页
Unity AR-VR虚拟现实开发基础(第2版)习题及答案汇 第1-11章_第4页
Unity AR-VR虚拟现实开发基础(第2版)习题及答案汇 第1-11章_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

填空题1.AR/VR的技术基础涉及到五个方面,分别是 立体显示技术 、 场景建模技术 、 自然交互技术 、 网络通讯技术 、和 3D渲染技术 。2.主流的场景建模技术有三种,分别是 3D计算机建模 、 3D扫描 、和 SLAM 。简答题简述AR/VR的定义VR是VirtualReality的缩写,通常又被称为沉浸式虚拟现实。沉浸式虚拟现实(VR)系统提供了一个完全沉浸的体验,使用户有一种仿佛置身于真实世界之中的感觉,是一种高级的、较理想的虚拟现实系统AR是AugmentedReality的缩写,通常被称为增强现实。AR的定义很广泛,技术种类众多,目前主流的AR是指通过设备识别判断(二维、三维、GPS、体感、面部等识别物)将虚拟信息叠加在以识别物为基准的某个位置,并显示在设备屏幕上,可实时交互虚拟信息。简述AR/VR应用开发的基本流程(1)选择合适的设备和平台(2)选择恰当的交互方式和第三方工具(3)选择合适的开发工具平台(4)选择合适的插件(5)选择合适的产品发布平台论述题1.AR/VR的应用领域有哪些?军事、航天、医疗健康、教育和技能训练、社交、电商、旅游、娱乐游戏简答题简述Unity3D的授权类型UnityTechnologies为我们提供了四种基本类型的授权服务,分别是个人版(Personal)、加强版(Plus)、专业版(Pro)和企业版(Enterprise)。对于Unity3D的初学者来说,直接使用免费的UnityPersonal版本即可,它具备Unity3D引擎的全部基础功能。简述Unity3D中的核心概念和子系统场景Scene游戏场景包含了游戏中的所有对象。我们可以在场景中创建主菜单,不同的关卡以及所有的一切。每个场景文件都可以看作是一个独立的关卡。(2)游戏对象GameObject游戏中的每一个对象都是游戏对象(GameObject),这就意味着在游戏中所需要考虑的一切都和游戏对象有关。但单纯的游戏对象什么也不能做,我们必须赋予其特定的属性,这样它才能成为游戏角色,游戏场景,或是某种特殊的游戏效果。游戏对象也是一种容器,可以向其中添加不同的部件,从而让其成为游戏角色、灯光、树木、声音,或任何其他别的东西。而我们所添加的每个部件则被称为组件(Component)。组件Component游戏对象中往往包含了一个或多个组件,组件可以为游戏对象提供不同的功能和特性。常用的组件类型包括:Transform/Mesh/ParticleSystem/Physics/Scripts/Video/Rendering/Event/Network/UI/AR/XR预设体

Prefabs是一个游戏对象及其组件的集合,目的是使得游戏对象可以被重复使用。这么描述或许有点抽象,一个形象的比喻是,预设体就好比模板,我们可以使用预设体在场景中快速创建一个具有特定组件属性值的游戏对象。简答题简述引擎脚本语言的作用1.随着3D游戏引擎的诞生和发展,3D游戏和应用的核心架构和底层实现工作交给了引擎。开发者更加关注的是如何基于引擎实现独一无二的内容。2.在3D游戏引擎兴起之后,跟性能和运行效率相关的工作基本上都是引擎搞定了,开发团队更关注的是内容和逻辑机制的实现。而实现这些东西可以使用相对开发者更友好的脚本语言,如Lua/Python/javascript/Java/C#等等。简述C#语言的由来C#读作CSharp,它有个更酷的名字叫COOL。早在1998年12月,微软就开启了一个名为COOL的业余项目,2000年2月更名为C#。因为历史的原因,C#语言深受Java、C和C++语言的影响。C#语言可以用来编写Windows平台应用、服务器端和数据库应用等等。简述C#语言中常见的几种数据类型(1)数字型的变量在C#中,数字型的变量主要包括整数(int)、单精度浮点数(float)和双精度浮点数(2)文本型的变量文本型的变量主要是char和string,其中char类型变量用于保存单个字符的值,而string类型变量则用于保存字符串的值。(3)布尔型的变量在C#中,布尔型的变量是bool,用于保存逻辑状态的变量,包含两个值:true和false。简述C#中for和foreach的区别。for语句同样用来循环执行某些指令,不过跟while和do…while…不同,for循环通常用来执行某些固定次数的循环。foreach并不算严格意义上的流程控制语句,它的作用是依次遍历集合中的数据。简答题简述Unity3D的基本几何体对象有哪些(1)Cube(方块)(2)Sphere(球体)(3)Capsule(胶囊体)

(4)Cylinder(圆柱体)

(5)Plane(地面)

(6)Quad(方形面片)简述常见的3D模型和动画创建软件

3dsmax,Maya,Blender,Cinema4D简述Unity3D光照系统中常见的光源对象

(1)DirectionalLight(平行光)

(2)PointLight(点光源)

(3)SpotLight(聚光灯)

(4)AreaLight(区域光)简述粒子系统在构建场景中的作用。在粒子系统中,通过各种设置让微小的粒子以某种特定的形态展示出来,就形成了粒子特效。从这一点来看,粒子系统中的粒子就如同空气中的灰尘或者微小颗粒。当大量的粒子聚集在一起时,就会形成我们所期待的各种酷炫效果。简答题简述Canvas的三种渲染模式

Canvas组件具有3种不同的渲染模式(RenderMode)。

(1)ScreenSpace–Overlay(屏幕空间-覆盖)

Canvas的默认RenderMode为ScreenSpace-Overlay,此时Canvas下的所有UI元素会直接绘制在游戏窗口的平面上。也就是说,此时Canvas中的UI元素会优先显示在游戏场景中,不会被其他任何对象所遮挡。(2)ScreenSpace-Camera(屏幕空间-相机)

在此模式下,Canvas的显示效果和前者基本一致,只是在Scene视图中有较大区别。将Canvas的RenderMode切换为ScreenSpace-Camera后,需要手动指定RenderCamera(渲染用相机)。

(3)WorldSpace(世界空间)

在VR项目的开发中,所有Canvas必须设置为WorldSpace。在此模式下,整个Canvas将和其他对象一样作为3D对象存在于场景中。2.简述Canvas中UI元素的显示顺序Canvas中UI元素的显示顺序和它们在Hierarchy层级视图中的显示顺序是一致的。第一个子对象将被首先绘制,然后是第二个子对象,以此类推。当两个UI元素重叠的时候,后绘制的对象将显示在之前绘制的对象之上。当我们需要调整UI元素的显示顺序时,只需要在Hierarchy视图中通过拖曳的方式来调整顺序即可。3.简述锚点的作用所谓的轴点也就是UI元素的参考坐标系原点。对UI元素的旋转和缩放等操作都是基于轴点的位置来进行的。当我们在工具栏中将Pivot按钮设置为Pivot模式时,RectTransform的轴点可以在Scene场景视图中进行移动。简答题简述AnimationClips的作用

Mecanim动画系统中的一个核心概念是AnimationClips(动画片段),其中包含了丰富的动画信息,如特定的对象将如何更改其位置、旋转及其它属性。Unity3D支持使用第三方软件所创建的动画片段,如3dsMax或Maya,或是使用动作捕捉设备及软件所获取的动画片段。

简述动画控制器和状态机的作用

在Unity3D中通常使用AnimatorController来设置和管理角色或其它场景对象的动画。AnimatorController通过一种名为StateMachine(状态机)的方式来管理某个游戏对象的动画片段。与AnimationClips不同,AnimationController必须在Unity3D内部创建。开发者可以通过菜单栏上的Assets,或是从Project视图中的Create菜单来创建AnimatorController。在绝大多数情况下,虚拟世界中的角色或对象可能会有多个动画片段,我们需要根据环境变化或逻辑机制让角色或物体在不同的动画状态之间进行切换。举个简单的例子,在某个游戏中,当我们按下键盘上的空格键,或者是控制器上的某个特定按键时,角色会从行走动画切换到跳跃动画。即便某个对象只有一个对应的AnimationClip,我们也需要让其归于一个AnimatorController的控制下。AnimatorController使用StateMachine(状态机)来管理游戏对象的不同动画状态及其之间的过渡。这个名词听起来有点可怕,但实际上很好理解。

简述BlendTree的作用。在某些情况下,为了让角色的动作更为自然,需要将角色的不同动画混合在一起。举例而言,我们可以根据角色的速度将行走和奔跑动画混合在一起。在实际使用的时候,需要将Transitions和BlendTrees区分开来。简单来说,Transitions是状态机的一部分,它用于在指定的时间范围内从某个动画状态切换到另外一个动画状态。而BlendTrees则用于将多种不同的动画混合在一起,从而形成一种更为自然的效果。每种动画都会对最终的效果产生影响,并通过某种数值化的动画参数与AnimatorController关联在一起。简答题简述物理引擎的主要作用。

为了模拟真实世界中的物理法则,数字世界中的物体将受到碰撞、重力和其它力的作用。Unity3D内置的物理引擎提供了相关的组件,可以完美模拟真实世界中的物理行为。通过一些简单的参数设置,我们就可以让虚拟世界中的物体按真实世界的物理法则来产生各种行为。当然,如果需要更精确的模仿物理法则,还需要使用C#脚本来动态控制如汽车、机器甚至是布料。简述刚体的作用。

要想实现游戏对象的物理行为,Rigidbody(刚体)组件是必不可少的。当游戏对象添加了刚体组件后,对象会立即受到重力等物理因素的影响。如果该对象上添加了一个或多个Collider组件后,那么该对象就会受到碰撞的影响,例如被场景中的其它物体撞飞。简述碰撞器的作用。

如果希望两个对象发生碰撞,那么这两个对象上都必须有Collider组件,其中一个对象上必须有Rigidbody组件。那么何为Collider组件呢?简单来说,碰撞器定义了场景中物体发生物理碰撞时的外部受力形状。碰撞器是不可见的,它不需要跟物体表面的mesh网格完全一致。为了提升游戏或应用的运行效率,碰撞器只需要做到跟mesh网格大致相似就好,这样既可以保证运行效率,也可以保证物体的可辨识性。简述关节的作用

在虚拟的数字世界中,有时候我们需要将某个刚体对象和另外一个刚体对象通过某种方式固定在一起。当受到外力的作用时,固定在一起的刚体对象将通过模拟计算得到最终的运动轨迹。此时,我们需要借助Joint(关节)。通过关节,我们可以对刚体对象施加力,从而形成物体的运动。同时,关节还可以限制物体的运动,使其更符合现实世界的物理规律。简述角色控制器的作用虚拟数字世界中的角色需要实现一些基于碰撞的物理机制,比如他们不应该穿透地板,或是穿越墙壁。与此同时,角色的运动并非完全符合物理特性,只有这样才能更方便的控制角色的各种运动。对此,Unity3D提供了一种特殊的组件来快速实现这些功能,这就是CharacterController(角色控制器)。角色控制器给角色提供了简单的胶囊状的碰撞器,并且方向始终向上。但是和其它碰撞器不同的是,角色控制器无需刚体组件,其动能效应也不是完全仿真的。简答题简述AudioSource和AudioClip的作用在Unity3D中,AudioSource组件也就是音源,场景中的所有声音都需要通过AudioSource播放。要想在Unity3D中播放音频,首先需要场景中存在AudioSource组件。在Unity3D中,AudioClip就是音频源文件。当把Unity3D所支持的音频文件导入到Assets目录后,这个音频文件就是一个AudioClip。简述AudioListener的作用在Unity3D中,AudioListener相当于人类的耳朵,它从场景中的指定音源处获取音源信号,然后通过电脑或智能手机平板的扬声器播放音乐。该组件默认关联在MainCamera上。需要注意的是,场景中有且只能有一个AudioListener组件。简答题简述HTCVive的设备构成连接PC电脑使用的入门级HTCVive设备,它主要由以下几个模块组成:头戴显示设备两个支持大空间(Room-scale)追踪的Lighthouse定位器两个操控手柄无线升级套件VIVETracker追踪器简述Lighthouse的工作原理Lighthouse由两个基站设备组成,每个基站设备中内置一个红外LED阵列,每20ms扫描一遍整个空间。两个基站通过计算设备的时间差和传感器的位置差,就可以计算出追踪设备的位置和运动轨迹。简述HTCVive手柄的交互机制HTCVive套装中有两个控制器,分别提供给左手和右手来使用。两个手柄上的按键设计完全相同,由SteamVR在手柄激活时决定哪一个代表右手,哪一个代表左手。每一个手柄提供了4组功能按键。分别是菜单(Menu)键,扳机(Trigger)键,触控板(Trackpad),抓取(Grip)键两个和一个系统保留按键。简答题简述什么是动作捕捉技术动作捕捉(英文:Motioncapture,以下简称动捕)是利用外部设备来对人或者其他物体的位移或者活动进行处理和记录的技术。它其实是一个比较广义的概念,其作用的对象并不限定为人,也可以是其他生物,或者个体的局部信息。现在常见的面部捕捉或者手指的运动追踪,这两个部位的捕捉也被称为Performancecapture。简述动作捕捉技术的基本工作原理任何动作捕捉设备的运作流程都是遵循:数据采集—数据传输—数据分析—姿态还原这个过程,最后通过3D技术重新呈现在我们面前。如果想在做二次开发,那就得在最后面再加上一条:数据转发,也就是把还原的人体姿态再转发到其他的软件里面,像Unity3D、UE4、Maya等等。简述动作捕捉技术的应用领域影视游戏体育其它领域简答题简述ARKit的主要功能特性ARKit集成了设备的运动跟踪、摄像头场景捕捉、先进的场景处理,以共同构建令人惊艳的AR体验效果。ARKit使用VisualInertialOdometry(视觉惯性里程计,VIO)来精确跟踪现实世界中的真实场景。使用ARKit,iPhone和iPad可以分析来自摄像头视图中的场景,并找到房间的水平平面。ARKit可以检测到如桌子和地板之类的平面,还可以检测和跟踪物体。更酷的是,ARKit还可以利用摄像头传感器来估算场景中的光线强度,从而在虚拟物体上提供合适的光照。简述ARCore的主要功能特性运动跟踪

当您的手机在现实世界中移动时,ARCore会通过一个名为并行测距与映射(或COM)的过程来理解手机相对于周围世界的位置。环境理解ARCore会通过检测特征点和平面来不断改进它对现实世界环境的理解。光估测

ARCore可以检测其环境光线的相关信息,并为您提供给定摄像头图像的平均光强度和色彩

温馨提示

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

最新文档

评论

0/150

提交评论