2018版经典U3D面试题

一、什么是渲染管道? 

是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中。主要步骤有: 本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。 


二、如何优化内存? 


有很多种方式,例如: 

1.压缩自带类库; 

2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉; 

3.释放AssetBundle占用的资源;

4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;

5.使用光照贴图,使用多层次细节(LOD),使用着色器(Shader),使用预设(Prefab)。 


三、动态加载资源的方式?

1.Resources.Load(); 2.AssetBundle


四、什么是协同程序? 

在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。 


五、你用过哪些插件? 

(多熟悉几个插件更好,问的时候好回答) 


六、使用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就是刚体,使物体带有刚体的特征。


你可能感兴趣的:(Unity)