文档介绍:本人总结某些Unity3d高频面试题目,但愿可以协助到人们。
限于个人水平有限,只附上某些参照答案。
=======================================
数据构造和算法很重要,图形学也很重要!
大游戏公司很看重个人基本、综合能力;
小公司看你实际工作能力,看你Demo。
高频问答问题:
什么是渲染管道?
是指在显示屏上为了显示出图像而通过一系列必要操作。
渲染管道中诸多环节,都要将几何物体从一种坐标系中变换到另一种坐标系中去。
重要环节有:
本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。
如何优化内存?
有诸各种方式,例如
压缩自带类库;
将暂时不用后来还需要使用物体隐藏起来而不是直接Destroy掉;
释放AssetBundle占用资源;
减少模型片面数,减少模型骨骼数量,减少贴图大小;
使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。
动态加载资源方式?(有时候也问区别,详细请百度)
();
什么是协同程序?
在主线程运营时同步启动另一段逻辑解决,来协助当前程序执行。换句话说,启动协程就是启动一种线程。可以用来控制运动、序列以及对象行为。
你用过哪些插件?
(最佳多熟悉几种插件,问时候好回答)
====================================================
,有几种方式?
;
(投影)值调为Orthographic(正交投影),不考虑z轴;
,如:2DToolKit;
Unity3d中碰撞器和触发器区别?
碰撞器有碰撞效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;
触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。
物体发生碰撞必要条件
两个物体都必要带有碰撞器(Collider),其中一种物体还必要带有Rigidbody刚体。
CharacterController和Rigidbody区别?
CharacterController自带胶囊碰撞器,里面包具有刚体属性;
Rigidbody就是刚体,使物体带有刚体特性。
在物体发生碰撞整个过程中,有几种阶段,分别列出相应函数
三个阶段
Unity3d物理引擎中,有几种施加力方式,分别描述出来
,都在rigidbody系列函数中。
什么叫做链条关节?
Hinge Joint,可以模仿两个物体间用一根链条连接在一起状况,能保持两个物体在一种固定距离内部互相移动而不产生作用力,但是达到固定距离后就会产生拉力。
物体自身旋转使用函数?