Unity Day3
1.transform.forward 和 Vector3.forword 的区别
答案:
- Vector3.forword 始终时(0,0,1)可以认为是世界坐标系的 Z 轴朝向
- transform.forword 是当前物体的局部坐标系的 Z 轴在世界坐标系下的朝向可以认为是物体自己的 Z 轴朝向
2.Unity 中如何解决过多创建和删除对象带来的卡顿问题?
答案:
可以通过协同程序,分时分步创建或删除原理是避免一帧中处理太多对象
3.游戏中的成就系统,我们一般会使用设计模式中的哪种模式来制作? 为什么?
答案: 观察者模式 Unity 基础小框架中讲解的 事件中心 就是基于观察者模式的是一种订阅通知机制
4.请简述热更新的流程
答案: 本地存在资源对比文件和已有资源
- 下载资源服务器中的对比文件
- 将下载下来的远端对比文件和本地的做对比记录需要更新的资源和要移除的资源
- 根据第二步中记录的信息,进行资源下载和移除
- 更新本地对比文件,其内容和刚才下载的远端对比文件一致
5.我们应该如何优化 UI (基于 UGUI)
答案:
- 性能上
- 打图集,将同一画面的图片放入一个图集中,目的是减少 DrawCall
- 面板中的图片和文字尽量不要交叉,因为这样会产生多余的 DrawCall
- 取消勾选不必要的射线检测,UI 组件上的
- 减少透明图片的重叠使用
- 等等
- 内存上
- 大图尽量使用 9 宫格缩放,让美术设计 UI 面板底图时不要过于复杂尽量是有规律的纹理和颜色变化
- 图片的 RGBA 通道分离
- 等等