Unity3d面试题总结.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity3d面试题总结

本人总结的一些Unity3d高频面试题目,希望可以帮助到大家。 限于个人水平有限,只附上一些参考答案。 ======================================= 数据结构和算法很重要,图形学也很重要! 大的游戏公司很看重个人基础、综合能力; 小公司看你实际工作能力,看你的Demo。 高频问答的问题: 什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作。 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。 主要步骤有: 本地坐标-视图坐标-背面裁剪-光照-裁剪-投影-视图变换-光栅化。 如何优化内存? 有很多种方式,例如 压缩自带类库; 将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉; 释放AssetBundle占用的资源; 降低模型的片面数,降低模型的骨骼数量,降低贴图的大小; 使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。 动态加载资源的方式?(有时候也问区别,具体请百度) 1.Resources.Load(); 2.AssetBundle 什么是协同程序? 在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。 你用过哪些插件? (最好多熟悉几个插件,问的时候好回答) ==================================================== 1.使用Unity3d实现2d游戏,有几种方式? 1.使用本身的GUI; 2.把摄像机的Projection(投影)值调为Orthographic(正交投影),不考虑z轴; 3.使用2d插件,如:2DToolKit; Unity3d中的碰撞器和触发器的区别? 碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数; 触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。 物体发生碰撞的必要条件 两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。 CharacterController和Rigidbody的区别? CharacterController自带胶囊碰撞器,里面包含有刚体的属性; Rigidbody就是刚体,使物体带有刚体的特征。 在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数 三个阶段 1.OnCollisionEnter 2.OnCollisionStay 3.OnCollisionExit Unity3d的物理引擎中,有几种施加力的方式,分别描述出来 rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数中。 什么叫做链条关节? Hinge Joint,可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。 物体自身旋转使用的函数? Transform.Rotate() 物体围绕某点旋转使用的函数? Transform.RotateAround() Unity3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数 PlayerPrefs.SetInt() PlayerPrefs.GetInt() Unity3d提供了几种光源类型,分别是哪几种? 四种。 平行光:Directional Light 点光源:Point Light 聚光灯:Spot Light 区域光源:Area Light Unity3d脚本从唤醒到销毁有着一套比较完整的生命周期,请列出系统自带的几个重要的方法。 Awake——Start——Update——FixedUpdate——LateUpdate——OnGUI——Reset——OnDisable——OnDestroy 物理更新一般放在哪个系统函数里? FixedUpdate,每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。 移动摄像机的动作放在哪个系统函数中,为什么放在这个函数中? LateUpdate,在每帧执行完毕调用,它是在所有Update结束后才调,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有Update操作完才跟进摄像机,不然就有

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档