游戏公司unity面试题

合集下载

史上最全的Unity面试题(三)

史上最全的Unity面试题(三)

二十一:物理更新一般放在哪个系统函数里?FixedUpdate,每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。

FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。

Update就比较适合做控制。

二十二:在场景中放置多个Camera并同时处于活动状态会发生什么?游戏界面可以看到很多摄像机的混合。

二十三:如何销毁一个UnityEngine.Object及其子类?使用Destroy()方法;二十四:请描述为什么Unity3d中会发生在组件上出现数据丢失的情况一般是组件上绑定的物体对象被删除了二十五:LOD是什么,优缺点是什么?LOD(Level of detail)多层次细节,是最常用的游戏优化技术。

它按照模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

缺点是增加了内存。

二十六:MipMap是什么,作用?MipMapping:在三维计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为MipMap。

二十七:请描述Interface与抽象类之间的不同抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公公只能定义各个方法的界面,不能具体的实现代码在成员方法中。

类是子类用来继承的,当父类已经有实际功能的方法时该方法在子类中可以不必实现,直接引用父类的方法,子类也可以重写该父类的方法。

实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个。

二十八:.Net与Mono的关系?mono是.net的一个开源跨平台工具,就类似java虚拟机,java本身不是跨平台语言,但运行在虚拟机上就能够实现了跨平台。

.net只能在windows下运行,mono可以实现跨平台跑,可以运行于linux,Unix,Mac OS等。

Unity3d面试题总结

Unity3d面试题总结

本人总结的一些Unity3d高频面试题目,希望可以帮助到大家。

限于个人水平有限,只附上一些参考答案。

======================================= 数据结构和算法很重要,图形学也很重要!大的游戏公司很看重个人基础、综合能力;小公司看你实际工作能力,看你的Demo。

高频问答的问题:一.什么是渲染管道是指在显示器上为了显示出图像而经过的一系列必要操作。

渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。

主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。

二.如何优化内存有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;3.释放AssetBundle占用的资源;4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。

三、动态加载资源的方式(有时候也问区别,具体请百度)四、什么是协同程序在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。

换句话说,开启协程就是开启一个线程。

可以用来控制运动、序列以及对象的行为。

五、你用过哪些插件(最好多熟悉几个插件,问的时候好回答)======================================= =============1.使用Unity3d实现2d游戏,有几种方式1.使用本身的GUI;2.把摄像机的Projection(投影)值调为Orthographic(正交投影),不考虑z轴;3.使用2d插件,如:2DToolKit;2.Unity3d中的碰撞器和触发器的区别碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。

【新提醒】【unity常见面试题】

【新提醒】【unity常见面试题】

【新提醒】【unity常见面试题】本帖最后由小布丁~ 于 2015-6-30 08:24 编辑1. 游戏对象问题:游戏对象消失三种方法的区别?(enabled/Destroy/active)gameObject.renderer.enabled=fasle是控制一个物体是否在屏幕上渲染或显示而物体实际还是存在的只是想当于隐身而物体本身的碰撞体还依然存在的GameObject.Destroy()表示移除物体或物体上的组件代表销毁该物体实际上该物体的内存并没有立即释放而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了一般是在c场景中才真正释放该物体的内存资源(这是我的体会不知道理解错误没)gameObject.active=false是否在场景中停用该物体在你gameObject.active =false中则你在场景中用find找不到该物体如果该物体有子物体你要用SetActiveRecursively(false) 来控制是否在场景中停用该物体(递归的)副作用:通过GameObject.Find方法查找不到2. 协同程序(Coroutine)协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。

换句话说,开启协同程序就是开启一个线程。

原理:协同程序被开启后作为一个线程在运行,而MonoBehaviour也是一个线程,他们成为互不干扰的模块,除非代码中用调用,他们共同作用于同一个对象,只有当对象不可见才能同时终止这两个线程。

使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序。

使用StopCoroutine(string methodName)来终止一个协同程序,使用StopAllCoroutines()来终止所有可以终止的协同程序,但这两个方法都只能终止该MonoBehaviour中的协同程序。

还有一种方法可以终止协同程序,即将协同程序所在GameObject的Active属性设置为false,当再次设置active为ture 时,协同程序并不会再开启。

unity常见面试题

unity常见面试题

21.请描述为什么Unity3d中会发生在组件上出现数据丢失的情况一般是组件上绑定的物体对象被删除了22.alpha blend工作原理Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。

23.写出光照计算中的diffuse的计算公式diffuse = Kd x colorLi【狗刨学习网】ght x max(N*L,0);Kd 漫反射系数、colorLight 光的颜色、N 单位法线点指向光源的单位向量、其中N与L点乘,如果结果小于等于0,则漫反射为0。

24.Lod是什么,优缺点是什么?LOD(Level of detail)多层次细节,是最常用的游戏优化技术。

它按照模型的位置和重要程度决定物体渲染的资非重要物体的面数和细节度,从而获得高效率的渲染运算。

25.两种阴影判断的方法、工作原理。

26.Vertex Shader是什么,怎么计算?顶点着色器27.MipMap是什么,作用?MipMapping:在三维计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成预先计算和优化过的图片组成的文件,这样的贴图被称为Mip【狗刨学习网】Map。

28.机试:二选一1.用代码实现第三角色控制器2.实现吊机吊物体的功能29.反向旋转动画的方法是什么?30.碰撞检测需要物体具备什么属性?31.获取、增加、删除组件的命令分别是什么?获取:GetComponent增加:AddComponent删除:Destroy32.Animation.CrossFade命令作用是:(C)A.动画放大B.动画转换C.动画的淡入为其他动画33.Application.loadLevel命令为:(A)A.加载关卡B.异步加载关卡C.加载动作34.调试记录到控制台的命令是什么?Debug.Log();35.编辑器类存放路径是什么?工程目录下的Assets/Editor文件夹下。

游戏公司笔试面试题目(3篇)

游戏公司笔试面试题目(3篇)

第1篇一、笔试部分一、选择题(每题2分,共20分)1. 以下哪个不属于游戏设计的基本原则?A. 简洁性原则B. 一致性原则C. 可访问性原则D. 创新性原则2. 以下哪个不属于游戏引擎?A. UnityB. Unreal EngineC. CryEngineD. Photoshop3. 游戏角色设计时,以下哪个不是需要考虑的因素?A. 角色背景故事B. 角色外观形象C. 角色性格特点D. 角色技能树4. 游戏策划中,以下哪个不属于关卡设计要素?A. 关卡目标B. 关卡难度C. 关卡时间D. 关卡奖励5. 以下哪个不属于游戏美术资源?A. 纹理B. 模型C. 动画D. 音效6. 游戏测试中,以下哪个不属于测试类型?A. 功能测试B. 性能测试C. 兼容性测试D. 心理测试7. 游戏运营中,以下哪个不属于运营策略?A. 用户留存B. 用户活跃C. 游戏优化D. 竞品分析8. 游戏市场营销中,以下哪个不属于营销渠道?A. 社交媒体B. 应用商店C. 游戏论坛D. 直播平台9. 游戏开发中,以下哪个不属于开发阶段?A. 需求分析B. 设计阶段C. 开发阶段D. 维护阶段10. 游戏公司中,以下哪个不属于核心部门?A. 游戏策划B. 游戏美术C. 游戏开发D. 财务部门二、填空题(每题2分,共20分)1. 游戏设计的基本原则包括:_______、_______、_______、_______。

2. 游戏引擎的主要功能包括:_______、_______、_______。

3. 游戏角色设计时,需要考虑的因素包括:_______、_______、_______。

4. 游戏关卡设计要素包括:_______、_______、_______。

5. 游戏美术资源主要包括:_______、_______、_______。

6. 游戏测试类型包括:_______、_______、_______。

7. 游戏运营策略包括:_______、_______、_______。

Unity面试题模板

Unity面试题模板

近来 unity3d找工作有些受挫,自己也开始补课了。

下边把这段时间看到的些面试题供出来让大家也学习下,题目不过面试官选拔人材的一部分,在研究面试题目的过程中,多检测下自己的不足,实时复习或补习下,最后学到真本领才是最重要的。

祝自己也祝大家好运哈!题目中有些答案有网上搜的,也有个人整理的,有错误或不足的地方,望指正,感谢!文章最后会有参照的一些网址或资料的链接,有想看旧址的朋友能够直接跳到最后哦。

题目归类区(看题目字体颜色识第几部分)ps:下边题目可能稍有点多,翻页会较麻烦,依据题目的颜色鉴别是第几部分吧(超链接功能不会,也懒得做了)第一部分1.请简述值种类与引用种类的差别2.C# 中全部引用种类的基类是什么3.请简述 ArrayList 和 List<Int>的主要差别4.请简述 GC(垃圾回收)产生的原由,并描绘如何防止?5.请描绘 Interface与抽象类之间的不同6.以下代码在运转中会产生几个暂时对象?7.以下代码在运转中会发生什么问题?如何防止?8.请简述重点字Sealed 用在类申明和函数申明时的作用9.请简述 private , public ,protected ,internal 的差别10.反射的实现原理?11. .Net 与 Mono 的关系?12.简述 unity3d 支持的作为脚本的语言的名称13.Unity3D 能否支持写成多线程程序?假如支持的话需要注意什么?14.Unity3D 的协程和C# 线程之间的差别是什么?15.U3D 顶用于记录节点空间几何信息的组件名称,及其父类名称16.简述四元数的作用,四元数对欧拉角的长处?17.向量的点乘、叉乘以及归一化的意义?18.矩阵相乘的意义及注意点19. 为何大家都在挪动设施上追求U3D 原生 GUI 的代替方案20. 请简述如安在不同分辨率下保持UI 的一致性21. 为何 dynamic font 在 unicode 环境下优于 static font22.Render 的作用?描绘MeshRender 和 SkinnedMeshRender 的关系与不同23.简述 SkinnedMesh 的实现原理24.在场景中搁置多个 Camera 并同时处于活动状态会发生什么?25.Prefab 的作用?如安在挪动环境的设施下合适地使用它?26.如何销毁一个 UnityEngine.Object 及其子类27.为何 Unity3D 中会发生在组件上出现数据丢掉的状况?28. 如何安全的在不同工程间安全地迁徙asset 数据?三种方法29.MeshCollider 和其余 Collider 的一个主要不同点?30.当一个渺小的高速物体撞向另一个较大的物体时,会出现什么状况?如何防止?31.OnEnable 、 Awake 、Start 运转时的发生次序?哪些可能在同一个对象周期中频频的发生?32. 请简述 OnBecameVisible 及 OnBecameInvisible的发生机遇,以及这一对回调函数的意义?33.Unity3D 如何获知场景中需要加载的数据?34.MeshRender 中 material 和 sharedmaterial的差别?第二部分1.请描绘游戏动画有哪几种,以及其原理。

Unity3D面试题

Unity3D面试题

Unity3D面试题1.哪种实时光源是Unity中没有的?A:点光源B:方向光C:聚光灯D:日光灯3.以下哪种操作步骤可以在场景中添加“WindZone”?A:Terrain->WindZone5.下列哪一项不属于Camera中的“ClearFlag”?A:Skybo某B:SolidColorC:DepthOnlyD:Background6.以下哪种脚本语言是Unity编辑器所不支持的?A:JavaScriptB:C#C:BooD:Perl7.对于Prefab,以下说法错误的是?A:Prefab资源可以在项目中多次重复使用B:由Prefab实例出的GameObject,其在Hierarchy视图中表现为蓝色C:Prefab上的组件信息一经改变,其实例出的GameObject也会自动改变D:实例出的GameObject上的组件信息一经改变,其对应的Prefab 也会自动改变8.下面哪种做法可以打开Unity的AetStore?A:Window->AetStoreB:Edit->AetStoreC:File->AetStoreD:Aet->AetStore9.在哪个面板中可以修改物体的空间属性,如位置、朝向、大小等?A:ProjectB:InpectorC:HierarchyD:Toolbar10.如何为一个Aet资源设定一个Label,从而能够方便准确的搜索到A:在Project窗口中选中一个Aet,右键->Create->LabelB:在Project窗口中选中一个Aet,右键->AddLabelC:在Project窗口中选中一个Aet,在Inpector窗口中点击添加Label的图标D:在Project窗口中选中一个Aet,在Inpector窗口中点击按钮“AddLabel”1.Mecanim系统中,BodyMak的作用是?A:指定身体的某一部分是否参与骨骼动画B:指定身体的某一部分是否参与物理模拟C:指定身体的某一部分是否可以输出骨骼信息D:指定身体的某一部分是否参与渲染3.下列关于光照贴图,说法错误的是?A:使用光照贴图比使用实时光源渲染要快B:可以降低游戏内存消耗C:可以增加场景真实感D:多个物体可以使用同一张光照贴图4.如何为物体添加光照贴图所使用的UV?A:不用添加,任何时候都会自动生成B:更改物体导入设置,勾选”GenerateLightmapUV”C:更改物体导入设置,勾选“SwapUV”D:更改物体导入设置,在UV选项中选择”UeLightmap”5.在哪个模块下可以修改RenderPath?A:CameraB:LightC:RenderSettingD:ProjectSetting->Quality6.以下哪项技术不是目前Unity所支持的OccluionCulling技术?A:PVSonlyB:PVSanddynamicobjectC:AutomaticPortalGenerationD:DynamicOnly7.关于Vector3的API,以下说法正确的是?A:Vector3.normalize可以获取一个三维向量的法线向量;B:Vector3.magnitude可以获取一个三维向量的长度;C:Vector3.forward与Vector3(0,0,1)是一样的意思;D:Vector3.Dot(向量A,向量B)是用来计算向量A与向量B的叉积8.以下哪个函数在游戏进入新场景后会被马上调用?A:MonoBehaviour.OnSceneWaLoadedB:MonoBehaviour.OnSceneEnterC:MonoBehaviour.OnLevelWaLoadedD:MonoBehaviour.OnLevelEnter9.什么是导航网格(NavMeh)?A:一种用于描述相机轨迹的网格B:一种被优化过的物体网格C:一种用于物理碰撞的网格D:一种用于实现自动寻路的网格10.下列那些选项不是网格层属性的固有选项A:DefaultB:WalkableC:NotWalkableD:Jump。

unity vr 面试题

unity vr 面试题

unity vr 面试题随着虚拟现实(Virtual Reality,简称VR)技术的快速发展,越来越多的公司开始招聘具备Unity VR开发经验的人才。

作为一名开发人员,你在参加Unity VR面试时,可能会遇到以下问题:1. 请简要介绍一下Unity VR的开发流程和基本原理。

Unity VR开发主要分为以下几个步骤:1)创建场景:使用Unity引擎创建一个空场景,设置相机的适配模式和位置,并导入所需的VR SDK。

2)导入资源:导入必要的3D模型、音效和纹理等资源,并进行必要的设置和优化。

3)编写脚本:使用C#或UnityScript编写脚本,实现虚拟现实交互逻辑,如对象的移动、碰撞检测等。

4)测试与调试:在VR设备上进行实时测试和调整,确保游戏在虚拟环境中的表现正常。

5)发布与部署:根据目标平台的要求进行打包和发布,分发给用户或运营商。

在Unity VR开发中,常用的VR SDK有Oculus VR、SteamVR、Google VR等。

开发VR应用时,需要充分了解和理解VR硬件设备的工作原理和特性,考虑用户体验(User Experience,简称UX),确保应用的稳定性和性能优化。

2. 请介绍一下Unity中常用的VR交互技术和效果。

Unity中常用的VR交互技术包括:1)头部追踪:使用VR设备将用户的头部动作实时获取并应用到场景的摄像机中,实现用户在VR环境中的观察和查看功能。

2)手部追踪:通过手柄等输入设备获取用户手部动作信息,实现手部在VR环境中的交互操作,如抓取、拖拽等。

3)碰撞检测:利用Unity中提供的物理引擎组件,实现虚拟物体与实际物体的碰撞效果,增强用户对虚拟现实环境的沉浸感。

4)用户界面(User Interface,简称UI):在VR场景中添加虚拟的交互界面,如菜单、按钮等,利用头部追踪和手部追踪等技术进行操作,提供便捷的用户交互。

5)空间音效:利用3D音效技术,根据用户在VR场景中的位置和方向实时调整声音的音量和位置,增强沉浸感和真实感。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Unity3d 程序员面试题
1.什么是渲染管道?渲染管道有哪些步骤?
答:渲染管道是指程序为了在显示器上输出图像而经过的一系列必要操作.
渲染管道的步骤有:
本地空间->世界空间->视图空间->背面剔除->光照计算->相机裁剪->投影计算->视口变换->光栅化
2.Unity3d有几种加载Prefab的方式?
答: 1.静态引用,建一个public变量,在Inspector里把prefab拉上去,在场景运行时会自动加载,用的时候instantiate
2.Resource.Load, 在调用该函数后加载, Load以后instantiate
3.AssetBundle.Load 在调用该函数后加载, Load以后instantiate
3.什么是协同程序?
答:在主线程序运行时同时开启另一段逻辑处理,来协助当前程序的执行.换名话说.
开启协程就象开启一个线程.
4.你例举几个你用过的Unity3d插件,并说明它们的用途和特点.
5.Unity3d中的碰撞器Collision和触发器Trigger的区别?
答:碰撞器有碰撞效果, IsTrigger = false 在碰撞发生时会调用
OnCollisionEnter,OnCollisionStay,OnCollisionExit函数.
触发器没有碰撞效果, IsTrigger = true, 可被触发时会调用
OnTriggerEnter,OnTriggerStay,OnTriggerExit函数
6.物体发生碰撞的必要条件
答:两件物体都必须有碰撞组件(Collider),其中一物体还必须带有Rigidbody刚体组件
7.在物体发生碰撞的整个过程中,有几个阶段,不同阶段分别调用哪些函数
答:1.OnCollisionEnter
2.OnCollisionStay
3.OnCollisionExit
8.在unity3D中有Update还有FixedUpdate,物理引擎的更新一般放在哪个系统函数里,为什
么?
答:物理引擎的更新一般放在FixedUpdate里面,和Update不同,FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降.因为FixedUpdate是每固定帧绘制时执行一次,所以更适合做物理控制.
9.移动摄像机的动作放在哪个系统函数中,为什么放在这个函数中?
答:移动摄像机的动作应该放在LateUpdate函数中.在每帧执行完毕调用,它是在所有Update结束后才调用,比较适合用于命令脚本的执行.如果不是在所有Update执行完后就移动摄像机可能会出现摄像机移动了,视口里的内容还没有更新的空帧现象.
10.场景中有多个相机(Camera)时,怎么来设置多个相机的渲染顺序.
答: Depth参数,设为-1会最先被渲染,值越大越后被渲染.
11.LOD是什么, 优缺点是什么?
答: LOD 是Level Of Detail的缩写,是指的多层次细节技术,是最常用的游戏优化技术.它按照模型的位置和重要程度决定物体渲染的精细层度,从而降低非重要物体的在视口中的面数和细节度,来提高渲染运算的速度.
12.写出光照计算中的Diffuse的计算公式?
答: diffuse = Kd * colorLight *max(N . L, 0) ; Kd漫反射系数,ColorLight光照的颜色,
N物体表面单位法线向量, L由点指向光源的单位向量, 其中N与L为点乘,如果结果小于等于0,则漫反射为0
13.Vertex Shader是什么?
答:顶点着色器
14.MipMap是什么,作用?
答:MIP map技术与材质帖图技术结合,根据距观看者远近距离的不同,以不同的分辨率将单一的材质帖图以多重图像的形式表现出来并代表平面纹理:尺寸最大的图像放在前面显著的位置,而相对较小的图像则后退到背景区域。

每一个不同的尺寸等级定义成一个MIP map水平。

MIP map技术帮助避免了不想要的锯齿边缘(称为锯齿状图形)在图像中出现,这种锯齿状图形可能是由于在不同分辨率下使用bit map图像产生的。

15.编辑器类Editor Classes 存放路径在哪里?和Runtime Classes运行时类有什么不同?
答: 存放路么在工程目录下的Assets/Editor文件夹下.和运行时类不同的是,RuntimeClasses是用来开发最终产品的,使用RuntimeClasses开发的程序在软件发布后也可以运行, EditorClasses是用来对编辑器进行2次开发用的,可以用它开发一些自已的模块或工具,但在最终发布的程序中是不能使用的.
16.请简述向量的点乘,向量的叉乘以及向量的归一化的几何意义?
答: 向量的点乘是计算两个向量之间的夹角的Cos值,
A,B向量的叉乘是计算垂直于由两个A,B两向量构成的平面的向量, 向量归一化,是指在空间坐标系内将向量的长度设为1.
17.机试: 多选
1)用鼠标实现在场景中拖动物体,用鼠标滚轮实现视口缩放(用一个Cube即可).
2)用代码实现第三人称角色控制器
3)实现吊机吊物体的功能。

相关文档
最新文档