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

一、反射

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

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

二、托管堆

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

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

三、关照模式总结

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

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

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

FixedUpdate

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

Update

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

LateUpdate

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

Asset Bundle(AB包)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为您提供一些基础知识、开发经验和算法方面的Unity面试答案,希望能对您有所帮助。 1. 什么是 Unity3D?它有哪些主要的功能? 答:Unity3D是一款跨平台的游戏引擎,主要用于创建2D和3D游戏。它的主要功能包括图形渲染、物理引擎、动画系统、音频系统、用户界面系统、网络系统等。 2. 请简单介绍一下 Unity3D 的生命周期。 答:Unity3D 的生命周期包括以下四个阶段: - 初始化阶段:当应用程序启动时,Unity3D会进行初始化,加载场景和资源等。 - 游戏循环阶段:在游戏循环期间,Unity3D会更新场景中所有的游戏对象,包括渲染、物理、动画等。 - 固定更新阶段:在每一帧更新之前,Unity3D会执行一些固定的操作,例如物理引擎的模拟等。 - 渲染阶段:在游戏循环的最后,Unity3D会将场景中所有的游戏对象渲染到屏幕上。 3. 请简单介绍一下 Unity3D 的 AssetBundle。 答:Unity3D 的 AssetBundle 是一种资源打包方式,可以将游戏中的资源打包成一个单独的文件,然后在游戏运行时动态加载。这种方式可以减少游戏的下载体积,提高游戏的加载速度。 4. 请简单介绍一下 Unity3D 的对象池技术。 答:对象池技术是一种常用的优化方式,可以减少对象的创建和销毁,提高游戏的性能。在 Unity3D 中,可以通过创建对象池来实现对象的重用,从而减少对象的创建和销毁。 5. 请简单介绍一下 Unity3D 的碰撞检测算法。 答:Unity3D 的碰撞检测算法主要有两种,分别是基于物理引擎的碰撞检测和基于射线检测的碰撞检测。基于物理引擎的碰撞检测是通过物理引擎来模拟物体之间的碰撞,而基于射线检测的碰撞检测是通过发射射线来检测物体之间的碰撞。 以上是一些基础知识、开发经验和算法方面的 Unity3D 面试答案,希望能对您有所帮助。当然,Unity3D 的知识点非常广泛,还有很多其他方面的问可以探讨。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值