ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:18.77KB ,
资源ID:3565350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3565350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Unity3d面试题总结.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Unity3d面试题总结.docx

1、Unity3d面试题总结本人总结的一些Unity3d高频面试题目,希望可以帮助到大家。限于个人水平有限,只附上一些参考答案。=数据结构和算法很重要,图形学也很重要!大的游戏公司很看重个人基础、综合能力;小公司看你实际工作能力,看你的Demo。高频问答的问题:1什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标-视图坐标-背面裁剪-光照-裁剪-投影-视图变换-光栅化。2如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy

2、掉;3.释放AssetBundle占用的资源;4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。3、动态加载资源的方式?(有时候也问区别,具体请XX)1.Resources.Load();2.AssetBundle4、什么是协同程序?在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。5、你用过哪些插件?(最好多熟悉几个插件,问的时候好回答)=1.使用Unity3d实现2d游戏,有几种方式?1.使用本身的GU

3、I;2.把摄像机的Projection(投影)值调为Orthographic(正交投影),不考虑z轴;3.使用2d插件,如:2DToolKit;2.Unity3d中的碰撞器和触发器的区别?碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。3.物体发生碰撞的必要条件两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。4.CharacterController和Rigidbody的

4、区别?CharacterController自带胶囊碰撞器,里面包含有刚体的属性;Rigidbody就是刚体,使物体带有刚体的特征。5.在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数三个阶段1.OnCollisionEnter2.OnCollisionStay3.OnCollisionExit6.Unity3d的物理引擎中,有几种施加力的方式,分别描述出来rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数中。7.什么叫做链条关节?Hinge Joint,可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离

5、内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。8.物体自身旋转使用的函数?Transform.Rotate()9.物体围绕某点旋转使用的函数?Transform.RotateAround()10.Unity3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数PlayerPrefs.SetInt() PlayerPrefs.GetInt()11.Unity3d提供了几种光源类型,分别是哪几种?四种。平行光:Directional Light 点光源:Point Light 聚光灯:Spot Light 区域光源:Area Light12.U

6、nity3d脚本从唤醒到销毁有着一套比较完整的生命周期,请列出系统自带的几个重要的方法。AwakeStartUpdateFixedUpdateLateUpdateOnGUIResetOnDisableOnDestroy13.物理更新一般放在哪个系统函数里?FixedUpdate,每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。14.移动摄像机的动作放在哪个系统函数中,为什么放在这个函数中?La

7、teUpdate,在每帧执行完毕调用,它是在所有Update结束后才调,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有Update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。15.当游戏中需要频繁创建一个物体时,我们需要怎样做能够节省内存?使用预制物体对象Prefab,然后复制创建。16.在场景中放置多个Camera并同时处于活动状态会发生什么?游戏界面可以看到很多摄像机的混合。17.请描述Prefab的作用,并描述如何在移动设备的环境下恰当的使用它?Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改。18.如何销

8、毁一个UnityEngine.Object及其子类?使用Destroy()方法;19.请简述Unity3d下如何安全的在不同工程间迁移asset数据,请列举出三种方法?1.可以把assets目录和Library目录一起迁移2.导出包3.用Unity带的assets Server功能20.请描述游戏动画有哪几种,以及其原理?主要有关节动画、骨骼动画、单一网格模型动画(关键帧动画)。关节动画:把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活,Quake2中使用这种动画;骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次

9、结构,有关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观;单一网格模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实。 21.请描述为什么Unity3d中会发生在组件上出现数据丢失的情况一般是组件上绑定的物体对象被删除了22.alpha blend工作原理Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。23.写出光照计算中的diffuse的计算公式diffuse = Kd x colorLight x max(N*L,0);Kd 漫反射系数、colorLig

10、ht 光的颜色、N 单位法线向量、L 由点指向光源的单位向量、其中N与L点乘,如果结果小于等于0,则漫反射为0。24.Lod是什么,优缺点是什么?LOD(Level of detail)多层次细节,是最常用的游戏优化技术。它按照模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。25.两种阴影判断的方法、工作原理。26.Vertex Shader是什么,怎么计算?顶点着色器27.MipMap是什么,作用?MipMapping:在三维计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的

11、文件,这样的贴图被称为MipMap。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.编辑器类存放路径

12、是什么?工程目录下的Assets/Editor文件夹下。36.使用原生GUI创建一个可以拖动的窗口命令是什么?GUI.DragWindow();37.localPosition与Position的使用区别?localPosition:自身位置,相对于父级的变换的位置。Position:在世界坐标transform的位置38.意义连线Mathf.Round 插值Mathf.Clamp 四舍五入Mathf.Lerp 限制39.写一个计时器工具,从整点开始计时,格式为:00:00:0040.写出Animation的五个方法41.怎么拿到一个对象上脚本的方法GameObject.GetComponent();42.上机题:用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放(用一个Cube即可)。43.请简述向量的点乘,向量的叉乘以及向量归一化的几何意义?点乘的几何意义是:计算两个向量之间的夹角,以及在某一方向上的投影;叉乘的几何意义是:创建垂直于平面,三角形,或者多边形的向量;参考:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1