知识涉及:Unity 更新日期:2021/6/23 最新更新内容:Lighting 知识点
Unity简介 要点
答案:DADAC
(1) 以下哪种脚本语言不是Unity编辑器所支持的?A. JavaScripts B. C# C. Boo D. Perl
答案解析:
- JavaScripts:静态语言,源于Boo,有相同语义但语法不同。Unity仅负责解析语法。
- C#:编译语言,Unity推荐使用语言。比US更为适用。 US同源于Boo,也
.Net
的第三方语言。 - Boo:脚本语言,
.Net
的第三方语言,特性受Python影响,为静态。负责编译。
A. Occulusion Culling B. NavMesh C. Light Probes D. Culling Mask
答案解析:
- Occulusion Culling: 遮挡剔除,Unity提供的内置功能 2019版本以后被归纳到Rendering项内,通过Window -> Rendering可找到
- NavMesh:Unity提供的网格寻路组件,用于实现AI寻路等功能
- Light Probes:Unity提供的光照探头小球,用于获取场景内光照信息并尽可能快速,耗能低的实现光在动态物体上的反射。
- Culling Mask:Camera组件属性,对指定
Layer
层级的物体剔除显示。
A. 后缀名为.mov
的文件 B. 后缀名为.mpg
的文件 C. 后缀名为.avi
的文件 D. 后缀名为.swf
的文件
答案详解:
- Unity支持视频格式如下:
.mov
/.mpg
/.mp4
/.mpeg
/.avi
/.asf
A. 丹麦 B. 美国 C. 瑞典 D. 希腊
答案详解:
- Unity引擎最初由丹麦3个年轻人研发供开发者使用的游戏引擎
A. 1 B. 2 C. 3 D. 4
答案详解:
- Unity引擎最初由丹麦3个年轻人研发供开发者使用的游戏引擎
- Unity图标为3个手势为“3”的组合而成【源于Unity达叔解释】
Unity基础概念 要点
答案: 1-10 DCDAC CDABB 11-15 BBDDA CCCB 多选:(AB)(BD)
(1) Unity默认情况下不能创建哪种几何体?A. Cube B. Sphere C. Cylinder D. Cone
答案解析:
- Unity创建的 GameObject对象 不包括 Cone(圆锥体)
A. 每个脚本必须包含Update
与Start
函数 B. 每个脚本必须继承MonoBehaviour
C. 需要添加到物体上的脚本必须继承MonoBehaviour
D. 同一工程中的同一场景C#脚本和JavaSript脚本不能混合使用
答案解析:
- 脚本中不必包含
Start
和Update
函数,未使用情况下可以删除。 - 当需要脚本作为组件挂载到GameObject对象上时,该脚本需要继承
MonoBehaviour
。 - 场景中,C#和JavaScript脚本之间可互相调用。 JavaScript必须放在 Standard Assets/Pro Standard Assets/Plugins三文件之一中。
A. 可以把一个带有子物体的物体做成 Prefab B. 可以把一个空物体做出 Prefab C. 可以把粒子系统做成 Prefab D. 可以同时选择多个互不相关的物体做出一个 Prefab
答案解析:
- 预制件的制作可以使单个选择或是有父子关系的父物体选择。
- 粒子系统可以做成 Prefab
A. 左手坐标系 B. 右手坐标系 C. 可以通过 ProjectSetting 切换左右手坐标系 D. 可以通过 Reference 切换左右手坐标系
答案解析:
- Unity坐标系为左手坐标系
- 坐标不可切换
A. Scene B. Project C. Inspector D. Hierarchy
答案解析:
- Scene视图,用于直观展示场景内GameObject等对象。
- Project视图:项目资源窗口,存放模型、音频、特效、脚本等文件。
- Inspector视图:用于访问与编辑对象或资源的具体信息(属性)。
- Hierarchy视图:场景资源窗口,记录场景内的所有使用资源。
A. 按键B B. 按键E C. 按键F D. 按键V
答案解析:按键F
(7) 在Unity引擎中,关于如何向工程中导入图片资源,以下错误的是A. 将图片文件复制或剪切到项目文件下的 Assets 文件夹或 Assets 子文件夹下 B. 通过 Assets -> Import New Asset,导入资源 C. 选中所需图片,按住鼠标左键拖入至 Project 视图中 D. 选中所需图片,按住鼠标左键拖入至 Scene 视图中
答案解析:
- Unity外部资源不可直接通过拖拽至 Scene 或 Hierarchy 视图中
A. Unity能发布具有 Java 源代码的工程 B. Unity支持任何脚本语言 C. Unity中物体的 Transform 组件可移除 D. Unity中的任何物体都有一个世界坐标和一个局部坐标
答案解析:
- Unity5.0之后仅支持 Java、C# 两种脚本语言
- Transform组件不可移除
- Unity中若物体没有父物体对象,其仅有世界坐标
A. Project B. Inspector C. Hierarchy D. Scene
答案解析:
- 属性的修改均在Inspector视图中进行(微观/宏观)
- Scene窗口严格意义上也具备修改空间属性能力(宏观)
A. Value 数值类型 B. Reference 数值类型 C. 颜色数值类型 D. 渐层数值类型【未理解】
答案解析:
- Unity中的组件均为引用类型,Public后可以直接拖拽赋值
A. Value数值类型 B. Reference数值类型 C. 颜色数值类型 D. 渐层数值类型
答案解析:
- 在Unity中各种组件都是引用类型,如果是公开的就可以通过拖拽的方式给予赋值。
A. Import New Assets B. Import Package C. Exporting Package D. Show In Explorer
答案解析:
- Impoet New Assets 导入新的资源
- Exporting Package 导出资源包
- Show In Explorer 在文件夹中显示该文件
A. Prefab资源可以在项目中多次使用 B. 由Prefab实例出Game Object,其在 Hierarchy 视图中表现为蓝色 C. Prefab 上的组件信息一经修改,其实例出的 Game Object 也会改变 D. 实例出的 Game Object 上的组件信息一经修改,其对应的Prefab也会自动修改
答案解析:
- Prefab是Unity中的预制件,相当于一个把已有的脚本,参数等进行默认配置的模板。修改预制件的信息,由此预制件生成实例也会修改。但是修改已经生成的实例,点击Apply后才会修改预制件
A. 游戏窗口中的搜索栏 B. 项目视图中的搜索栏 C. 层次视窗中的搜索栏 D. 选择 Windows 下的Asset Store
答案解析:
- 注意是Unity的Asset Store,从windows栏下Asset Store打开。
A. 蓝色 B. 黄色 C. 绿色 D. 亮色
答案解析:
- 预制体在视窗中的显示为蓝色
A. X 键 B. Alt 键 C. V 键 D. Ctrl 键
答案解析:C 项
(17) 下列选项中___选项不属于Component菜单栏下Rendering模块下的组件A. Skybox B. Occlusion Protal C. Trail Renderer D. Occlusion Area
答案解析:
- Trail Renderer 是 Component菜单栏下Effects模块下组件
A. 图片实际占用外存的大小 B. 当工程运行时,该图片在场景中所占用的显存大小 C. 对图片格式,压缩后所占用的外存大小 D. 以上均不正确
答案解析:
- Preview窗口显示的数字为其占用显存大小。C项。
A. Alt 键 B. Shift 键 C. Shift + U 键 D. Ctrl 键
答案解析:
- Shifts键 加速移动
A. 导出 B. 使用Unity下Assets Server功能 C. Assets目录直接迁移 D. Library目录直接迁移
答案解析:
- 方案1:导出,并导入另一工程
- 方案2:使用Assets Server功能
- 方案3:Assets 与 Library 目录同时迁出 Library 目录下为缓存信息,存储对 Assets 文件的识别标志,需与 Assets 一同迁出
A. Project B. Inspector C. Hirearchy D. Scene
答案解析:
- Inspector 检视窗口,显示当前选定对象的附加组件及其属性
- Transform组件中 Position/Rotation/Scale 可修改物体的位置、朝向、大小
- Scene 场景窗口,可通过直接选中对象,配合快捷键QWER对物体进行宏观调整
材质 Material (1) 下列哪一对 Cube 是有可能被 Unity引擎 进行动态批处理(dynamic batching)的?
A. 两个材质相同、缩放不同的 Cube B. 两个材质不同的 Cube C. 两个受 LightMap 影响,且 LightMapIndex不同的 Cube D. 两个用了同一个复杂 Shader (多个 Pass) 的 Cube
答案解析:
- 批处理条件:两物体拥有相同材质。
- 拥有LightMap的物体含有额外(隐藏)的材质属性。(偏移、缩放等) 特殊:其LightMap均指向同一部分的lightmap
- 多通道Shader会妨碍批处理。
- 动态批处理:基于批处理满足条件上,额外要求统一缩放的物体不与非统一缩放物体进行批处理。 如缩放大小为(1,1,1)与(1,2,1)可进行动态批处理。(1,1,1)与(2,2,2)则不会进行。
A. MeshRenderer组件 决定了场景中游戏对象的位置、旋转和缩放。 B. 为场景中的某一 GameObject 对象增添物理特性,需要为该游戏对象添加 MeshRenderer组件。 C. MeshRenderer组件 从 MeshFilter组件 中获取网格信息,并根据物体的 Transform 组件所定义的位置进行渲染。 D. MeshRenderer 是从网格资源中获取网格信息的组件。
答案解析:
- MeshRenderer 组件:让物体在场景中显示
A. MeshRenderer B. MeshFilter C. SphereCollider D. Rigidbody
答案解析:
- MeshRenderder 组件:让物体在场景中显示出来。 特别:仅装载 常规材质
- MeshFilter 组件:存储物体的网格信息。
- SphereCollier 组件:球形碰撞器组件,用于检测碰撞关系或作为触发器存在。 特别:仅装载 弹性材质
- Rigidbody 组件:刚体,实现物理碰撞效果的组件。
A. Camera 组件上 “Receive Shadows” 属性 B. MeshRenderer 组件上的 “Cast Shadows” 属性 C. Collider 组件上的 “is Trigger” 属性 D. Camera 组件上的 “Culling Mask” 属性
答案解析:
- Recive Shadows 属性:
- Cast Shadows 属性
- isTrigger 属性:更变Collider为Trigger模型,作为触发器存在。但同时失去碰撞器的功能效果。
- Culling Mask 属性:层级遮罩剔除,剔除指定的层级Layer,使其不出现在摄像机视野内。
A. Occlusion Culling B. NavMesh C. Light Probes D. Culling Mask
答案解析:
- Occlusion Culling:遮挡剔除
- NavMesh:网格寻路组件
- Light Probes:光照探针
- Culling Mask:层级遮罩剔除,在Camera组件中可见。用于剔除指定层级Layer的对象,使其不出现于摄像机视野内。
A. 一种 B. 两种 C. 三种 D. 四种
答案解析:
- Render Texture有三种模式。
- Point 模式:近距离时变成块状
- Bilinear 模式:近距离时变得模糊
- Trilinear 模式:与Bilinear相似,但在不同纹理之间会变得模糊
A. Texture B. Movie Texture C. Render Texture D. Texture2D
答案解析:
- Texture贴图、Movie Texture电影纹理、Render Texture渲染纹理、Texture2D精灵/UI 贴图
A. 主要被用于实现一些图像后处理特效 B. Unity会自动为其生成部分外围代码 C. 大多数情况下兼容 Forward/Deferred 渲染模式 D. 可以实现自定义光照模型
答案解析:
- subshader 按照顺序执行
- Lod 影响渲染顺序
- 子着色器使用标签告诉渲染引擎期望渲染与如何渲染,对硬件有影响
A. UNITY_MATRIX_IT_MV
B. UNITY_MATRIX_VP
C. UNITY_MATRIX_T_MV
D. UNITY_MARIX_P
答案解析:【知识受限】
- Unity为方便开发者使用ShaderLab,提供的Shader内置变量
Unity_MATRIX_MVP
:当前物体投影矩阵Unity_MATRIX_MV
:当前物体视矩阵Unity_MATRIX_P
:Unity_MATRIX_T_MV
:Unity_MATRIX_IT_MV
:Unity_MATRIX_TEXTURE0 to Unity_MATRIX_TEXTURE3
:_Object2World
:_World2Object
:_WorldSpaceCameraPos
:Unity_Scle
:
A. 来自 BackedOnly 光源的全部信息 B. 天空光、自发光材质、面光源等 C. 来自 Auto 光源的间接反射光信息 D. 其他全部三项
答案解析:
- Dual Lightmaps 双光照贴图,存储有自发光材质、反射光信息、烘焙的光信息。
灯光 Lighting (新增) (1) 纹理(Texture)不可以应用的光源是
A. Spot Light B. Point Light C. Direction Light D. Area Light
答案解析:
- 纹理应用光源类型:Spot/Point/Direction Light
- 对于 Direction Light,纹理平铺,纹理检视板内边缘模式:Repeat
- 对于 Spot Light,Cookie纹理边缘色为纯黑色,纹理检视板边缘模式:Clamp
A. HDR 属性 B. Intensity 属性 C. Depth 属性 D. Pause 属性
答案解析:
- HDR:Camera组件属性,用于动态范围颜色保真。
- Intensity:光照强度,能够改变灯光亮度。
- Depth:Camera组件属性,当场景出现多个摄像机对象,设置各摄像机画面在屏幕的优先显示层级。
A. 来自 Backed Only 光源的全部光照信息 B. 天空光、自发光材质、面光源等 C. 来自 Auto 光源的间接反射光信息 D. 上述三项
答案解析:
- Dual Lightmaps:双光照贴图。任何关于光源的信息均被存储。
A. Point Light B. Spot Light C. Direction Light D. Area Light
答案解析:
- Area Light为特殊的光照类型,仅用于烘焙。
A. Vertex Lit B. Forward Rendering C. Deferred Lighting D. 上述三者均可以
答案解析:
- Vertex Lit(顶点光照),不支持实施阴影,仅烘焙后产生阴影,为低保真。
- Forward Rendering(快速渲染),仅适用Direction Light产生实时阴影,其余均需烘焙后产生阴影。
- Deferred Lighting(延时光照),Direction/Point/Spot Light 下均具备实时阴影效果,为高保真。
- Area Light 仅烘焙后产生光照。
A. 适用光照贴图比适用实时光源渲染快 B. 可以降低游戏内存消耗 C. 可以增加场景真实感 D. 多个物体可以使用同一张光照贴图
答案解析:
- 使用光照贴图 优点: (1)加快渲染速度 (2)节约性能消耗
- 适用光照贴图 缺点: (1)一定程度上降低场景真实感
- D项正确
A. Vertex Lit B. Forward Rendering C. Deferred Lighting D. 上述三者均接近
答案解析:
- Vertex Lit(顶点光照):不支持实时渲染,灯光数量影响大。
- Forward Rendering(方向光):场景内仅需一个即可,与数量无关。
- Deferred Lighting(延时光照):具备高保真,支持实时阴影,内存开销大。对灯光数量逐渐变多影响不大。
A. Forward Rendering B. Vertex Lit C. Pixel Lit D. Deferred Lighting
答案解析:
- Unity仅提供三种渲染方式:快速渲染、顶点渲染、延时渲染
A. 将所有参与烘焙的物体设置为 Lightmap Static B. 将场景中的所有相机设置为 Light mapping Enable C. 确保所有参与烘焙物体的 Lightmap UV 在[0, 1]之间 D. 确保所有参与烘焙灯光的 Light mapping Mode 为 “Backed Only” 或 “Auto”
答案解析:
- B项不存在
A. 增加约33%内存 B. 减少约33%内存 C. 增加约25%内存 D. 减少约25%内存
答案解析:
- 启用Mip Maps后根据距离选择不同的图片进行渲染,距离近会调用清晰的图像,距离远会调用模糊的小图。多用于主机、PC游戏。是以牺牲内存换取显存带宽的一种方式。由图形学底层实现,固定增加33%。