整理的Unity 面试题(有些没答案都是师兄在脑海里记录下来的)(三)知识点篇

这篇博客总结了Unity面试中常见的知识点,包括反射的用途、托管堆的特性、不同关照模式的比较,还涉及Asset Bundle、热更新流程、协同程序、对象池的概念,以及物体碰撞条件和摄像机设置。此外,还探讨了GC的基本原理和优化策略。

一、反射

 动态获取类型信息,动态创建对象,动态访问成员的过程。

作用:在编译时无法了解类型,在运行时获取类型信息,创建对象,访问成员。

二、托管堆

是一段内存,有项目脚本运行时的内存管理器自动管理,托管代码中创建的所有对象必须在托管上分配内存

Unity的GC是非代数和非压缩的,表明GC 的时候必须扫描整个堆,堆扩展越大,性能会越低,非压缩是内存中的对象不会重新定位,会产生间隙。

三、关照模式总结

环境光:无论如何都需要。一般用于决定画面的底色。

实时光:每时每刻都在进行的光照,游戏时可以随时改变光照的状态,无需烘培,效果好,但在正在渲染下,画面同时出现多个光照,开销较大。

烘培光:根据光照信息预先渲染成贴图,最后盖到场景上,使部分渲染元素没有实时运行的开销,属于全局光照。拥有间接光,但光照属性运行时不能修改,动态物体不受影响,烘培耗时

FixedUpdate

固定更新,在每一帧被调用(给物体施加力) 不受机器性能影响

Update

与机器性能有关,性能越好处理越快,执行间隔越小

LateUpdate

在Update之后执行,一般用于相机跟随

Asset Bundle(AB包)

是一个压缩包,其中包含模型,贴图,预制体,声音甚至整个场景,可以在游戏运行时侯被加载,可使用LZMA算法和LZ4算法来压缩减少包的大小。

AssetBundle 是将资源用Unity的一种用于存储资源的压缩格式打包后的集合。它可以存储任意一种Unity引擎可以识别的资源。

Unity中的AssetBundle系统是对资源的一种扩展,可以动态的加载和卸载,并且大大节约了游戏包体所占空间并提高了效率。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值