• Unity面试题随笔(一)


    1.Unity中碰撞器(Collider)和触发器(Trigger)的区别?

    碰撞器(Collider)有碰撞效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数

    触发器(Trigger)没有碰撞效果,isTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数

    2.物体发生碰撞的必要条件?

    必须带有collider碰撞器和rigibody刚体属性或者人物控制器,其实人物控制器就包含了前两者,另外一个物体也要必须带有Collider,Collider分类:网格碰撞器,盒子碰撞器,胶囊碰撞器,球型碰撞器,地形碰撞器!

    3.CharacterController和Rigidbody的区别?

    Rigidbody具有完全真实物理的特性,而CharacterController可以说是受限的的Rigidbody,具有一定的物理效果但不是完全真实的。

    4.物体发生碰撞时,有几个阶段,分别对应的函数?

    三个阶段,OnCollisionEnter/Stay/Exit函数

    5.物体发生碰撞时,几种施加压力的方式,描述出来?

    rigidbody.AddForce/AddForceAtPosition,都是rigidbody的成员函数

    6.Unity3d提供了几种光源,分别是什么?

    共4种,DirectionalLight、PointLight、SpotLight、AreaLight(用于烘焙)

    7.物理更新一般在哪个系统函数里?

    FixedUpdate,每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染帧效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适合用于物理引擎的计算,因为是跟每帧的渲染有关。Update就比较适合做控制。

    8.移动相机动作在哪个函数里,为什么在这个函数里。

    LateUpdate,是在所有的update结束后才调用,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是所有的update操作完才进行摄像机的跟进,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。

    9.简述一下Prefab的用处?

    在游戏运行时实例化,prefab相当于一个模板,对你已经有的素材、脚本、参数做一个默认的配置,以便于以后的修改,同事prefab打包的内容简化了导出的操作,便于团队的交流。

    10.简述一下对象池,你觉得在FPS游戏里哪些东西适合使用对象池?

    对象池就存放需要被反复调用资源的一个空间,比如游戏中要常被大量复制的对象,子弹,敌人,以及任何重复出现的对象。

  • 相关阅读:
    论文阅读-基于低秩分解的网络异常检测综述
    工作流自动化,低代码是解决关键
    【IJCV】基于概率表征的半监督对比学习框架,FaceChain团队出品
    高通DSP架构和HVX指令介绍
    Fast DDS之Subscriber
    电脑重装Win11系统后如何修复音频录制
    web前端-html自定义列表
    python如何将c代码打包,上传
    实验四.路由器静态路由的配置
    LabVIEW以编程方式启用IEPE激励
  • 原文地址:https://blog.csdn.net/qq_45554473/article/details/133828915