面试中最难的问题是,你在项目中遇到什么问题,是如何解决的。 如果回答的太简单,面试人会说,这显示不出您的实力
一、项目的优化
1. 如何控制包的大小,貌似修改贴图的格式会好一点
2. 如何优化GPU(除了动态批处理和静态批处理之外还有什么手段,如何合并材质球(会带来什么问题),动态批处理需要什么条件(比如模型的面数,比如不能修改属性),批处理在shader中是如何实现的,他怎么判断的)。
3. 如何优化内存
4. 如何优化CPU
二、渲染
顶点坐标和纹理坐标,解释下shader中的光照,vertex,forward,deffer. 是如何把一张2d的输出到屏幕上,对于一些低性能设备的shader是如何处理的。
有些android需要修改贴图的格式,你是怎么做的
在顶点处理器中做变换操作
Shader的一个更深入
三、NGUI
如何自己修改图像集,屏幕适配如何做的,如何做高清底清的适配
四、自动化控制
对于编辑器工具的使用,如何防止策划的离开之后表的填写的可维护性
五、SDK
接入sdk的详细的信息的一个理解
如何从一个应用调用另一个应用,然后再返回
六、AI功能从整体的角度分析
七、AssetBundle 资源管理
八、学习游戏引擎,骨骼动画原理,
九、全自动打包
十、lua的使用,lua在unity3d中的使用
十一、模型合并
跨平台资源加载动态更新、多线程和主线程处理、UI制作方式、材质数量、shader实现、场景各种资源加载和显示规则都需要考虑很多细节。
先把api使用熟悉和优化要了解外,其他就是经常在处理资源加载和显示上需求。