• 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游戏里哪些东西适合使用对象池?

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

  • 相关阅读:
    Java集合Map接口详解——含源码分析
    x86架构中的外部中断结构-Part 1:中断控制器的演化
    mongoose 搭建 http 服务 -- 编译
    总结:Springboot工作记录
    vue+asp.net Web api前后端分离项目发布部署
    小程序毕设作品之微信美食菜谱小程序毕业设计成品(4)开题报告
    LeetCode 31. 下一个排列
    排序算法图解(五):快速排序分步刨析
    如何使用Arduino IDE对STM32F103C8T6进行编程
    redis 进阶
  • 原文地址:https://blog.csdn.net/qq_45554473/article/details/133828915