其实面试题非常重要,因为是现实工作中遇到的。要想进步神速,就去看面试题。就像我之前出的面试题,绝大多数都是和工作相关的。之前对面试题不重视,其实只要去看面试题就能进步神速和找到好工作。
一定一定要超级重视面试题
1、UI上mask component的工作原理是什么?如何在UI上显示3D角色?如何正确的处理UI上粒子特效和其他物体的遮挡关系?
https://blog.csdn.net/qq826364410/article/details/85103488
https://www.cnblogs.com/answer-yj/p/10758578.html
https://blog.csdn.net/ithot/article/details/90679992
https://gameinstitute.qq.com/community/detail/1189161
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39影响渲染顺序的因素:
1、Camera Depth
相机组件上设置的相机深度,深度越大越靠后渲染
2、Sorting Layer
在Tags & Layers设置中可见
3、Order In Layer
相对于Sorting Layer的子排序,用这个值做比较时只有都在同一层时才有效
4、RenderQueue
Shader中对Tags设置的“Queue”。
影响程度:
1、Camera Depth
永远最高。Camera Depth小的一定先进渲染管线。
2、当Sorting Layer和Order In Layer相同时
RenderQueue小的先进渲染管线
3、当Sorting Layer和Order In Layer不相同时,两种情况
1、当两个材质使用了不同的RenderQueue,且这两个RenderQueue都在[0~2500]或[2501~5000]时,SortingLayer和OrderInLayer的排序生效。
2、当两个材质使用了不同的RenderQueue,且这两个RenderQueue分别在[0~2500]和[2501~5000]时,则一定会按照RenderQueue绘制,无视SortingLayer、OrderInLayer的排序。
1、调节粒子系统Particle System中Order In Layer
这里注意下Sorting Layer和Order in Layer 的区别
在Sorting Layer中可以Add Sorting Layer,显示的优先级为从上到下(不同层)。
在Order in Layer中我们可以指定同一层Sorting Layer的优先级(同一层级)
比如两个游戏物体的Sorting Layer同为role层,但是第一个游戏物体的Order in Layer为0,而第二个游戏物体的Order in Layer 为1,则第二个游戏物体的显示优先级高于第一个游戏物体。
不过研究发现,此方式使用2DSprite,通过层级设置,但是Image不行
2.粒子系统的渲染队列Render Queue
我在这里采取了这种方式,是这样,策划的要求是不能动当前粒子特效自身的效果,并且有上层UI时不能穿透
首先不能动当前粒子特效的效果也就意味这,显示特效时如果调了特效的渲染队列,就变了特效的效果,第二有上层UI时还不能穿透,我就想那就动态控制下这粒子的渲染队列吧,这地方也简单,就是有上层UI时和没有时切换下状态就OK了
查看了下美术的粒子效果时shader中的渲染队列值分别如图:
2、Unity3d内存信息中的Reserved Total和Used Total,Mono,GfxDriver分别表示什么意思?如何优化Unity3d游戏的内存?
https://www.jianshu.com/p/5b163ab595ef
https://blog.uwa4d.com/archives/optimzation_memory_1.html
https://blog.csdn.net/kitok/article/details/77230438
gfxdriver这个内存是储存纹理网格之类的。
https://www.sohu.com/a/226659452_100123347
https://blog.uwa4d.com/archives/TechSharing_114.html
https://blog.csdn.net/nanhaibuluo/article/details/51407506
https://www.cnblogs.com/zhaoqingqing/p/5059479.html
3、编程实现快速排序,不限语言。
https://www.jb51.net/article/161278.htm
4、编写简易五子棋,写出棋盘数据结构和五子棋判断输赢算法即可。
5、影响游戏性能的因素一般有哪些?如何给不同配置的手机做中、高、低画面性能自动配置,不同的性能之间可以有哪些差别?
6、Unity3D的合批方式有哪些,这些合批的原理分别是什么?这些合批有什么好处和坏处?
7、请用Func和lambda表示:输入int paramA、float paramB,返回它们之和的字符串形式string result。
8、请实现:遍历ArrayList input且删除包含“del”的字符串
9、如何实现一个不分页,以上下拖动形式更新显示数据,最大容量为1000格的背包系统?并且说明要用到的UGUI组件是什么?
10、为什么要优化DrawCall?优化DrawCall是优化CPU性能还是GPU性能(请说明理由)?
11、你认为你在工作中的最有成就感的系统是什么?你是如何设计与实现的?
12、描述一下C#中的值类型和引用类型的区别。引用类型的基类是?怎么分辨什么是值类型,什么是引用类型?
13、请实现对int[] arr的降序BubbleSort算法,并说明BubbleSort的最好和最差时间复杂度分别是多少?
14、什么是渲染管道?
在显示器上为了显示图像而经过的一系列必要操作。
渲染管道上有很多步骤,都是将一个几何体从一个坐标系变换到另一个坐标系中过去。
主要步骤有:本地坐标、视图坐标、背面裁剪、光照、裁剪、投影、视图变化、光栅化。