Unity面试题

2023-11-15

Unity基础面试题

1. 什么是协同程序?

在主线程运行的同时开启另一段逻辑处理,来协助处理当前程序的执行。
协程很像多线程。Unity的协程是在每帧结束之后去检测yeild的条件时候满足。

2.Unity3D中碰撞器和触发器的区别

碰撞器和触发器的根本为同一个组件,Collider。表现区别为触发器不会产生物理效果而碰撞器可以。
组件属性角度为,当组件Trigger为false时为碰撞器,反之为触发器。
代码方面,碰撞器使用Unity内置接口OnCollisionEnter/OnCollisionStay/OnCollisionExit。
触发器使用,OnTriggerEnter/OnTriggerStay/OnTriggerExit。

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

两个物体都必须带有碰撞器,其中需要检测碰撞的物体必须带有Rigidbody组件才可以进行检测。前提是物理层级Layers具有交互效果。

4.ArrayList和list的区别

ArrayList存在不安全类型(Arraylist中的所有数据都会被当作Object来处理)
,所有会进行装箱拆箱的操作。而List是一个接口,ArrayList是一个实现了该类接口的类,可以被实例化。

5.如何安全的在不同工程间迁移Asset

将Assets目录和library一起迁移;导出Package;使用unity自带的Assets Server功能

6.OnEnable,Awake,Start的生命周期

Awake->OnEnable->Start,OnEnable可以在同一周期中反复发生。 

7.MeshRender中material和ShaderMaterial区别

修改ShaderMaterial改变工程里的材质设置和所有物体使用这个材质的外观。如果修改渲染器材质,使用material.

8.光源有哪些

点光源 Point Light
聚光灯 Spot Light
区域灯  Area Light
平行光 Direction Light

9.对象池

存放需要被反复调用资源的一个空间。当一个对象会大量产生的时候,如果每次都是销毁创建,会浪费很多的空间以及时间,通过对象池我们可以把暂时不用的对象放在池子中,当需要使用的时候去进行调用,不需要的时候进行隐藏,长时间不用在销毁。
大概的逻辑就是,调用对象,对象池中查找,如果存在,直接使用,然后再进行信息的初始化。如果不存在则创建,并且存入池子。最常见的就是,子弹,敌人,粒子特效。
对象池也是优化的基本手段。

10.CharacterController和Rigdbady的区别

Rigdbady具有完全真实的物理特性,是Unity中物理系统最基本的一个组件,包含了常用的物理特性。而CharacterController受限于Rigdbady,具有一定的物理效果,但是不完全真实,为了FPS封装的一个第一人称视角的角色控制器。

11.Prefab的用处

在游戏运行实例化,Prefab相当于一个模板,便于修改。对已有的素材数据,脚本做一个默认的配置,便于修改以及复用。可以打包导出

12.sealed

密封类关键,声明类不可被继承,声明方法不可以被重写

13.访问修饰符

Public:公开的,无限制访问
Protected:受保护的,只对该类和派生类公开
Private:私密,只对该类公开
internal:只能在包含该类的程序集中访问该类

14.Unity 实现2D游戏方法

使用UGUI
使用NGUI,2DToolKit等插件
将相机的Projection改为正交投影,不考虑深度

15.物体发生碰撞生命周期分为什么

OnCollisonEntert ->  OnCollisionStay -> OnCollisionExit

16.Unity中物理施加力的方式

Rigdbady.AddFarce
Rigdbady.AddFarceAtPosition

17.链条关节

Hinge Joint,可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。

18.旋转函数

Transform.Rotate

19.保存,读取数据的类PLayerPrefs

PlayerPrefs.SetInt();保存
PlayerPrefs.GetInt();读取

20.Unity中脚本的生命周期

Awake->OnEnable->Start->Update->FixedUpdate->LateUpdate->OnGUI->OnDisable->OnDestory

21.在场景中放多个相机并同时处于活动状态会发生什么?

游戏场景中可以看到相机的混合画面(当然相机的depth不在同一场景),如果处在同一个层级,则会覆盖。

22.如何销毁一个UnityEngine.Object及子类

使用Destory()方法

23.物理更新一般放在什么函数中?

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

24.LOD是什么?优缺点是什么?

LOD,多层次细节,是常用的游戏优化技术。他按照模型的位置和重要程度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染计算,缺点是增加了内存。

25.MipMap有什么作用?

MipMap是计算机图形的贴图渲染中常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件

26.什么是LightMap?

Light就是指在三维软件里实现打灯光,然后通过渲染把场景各表面的光照输出到贴图上,最后又通过unity贴到场景中,这样就使物体有了光照的感觉。

27. 接口和抽象类之间的不同

抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公共只能定义各个方法的界面,不能具体的实现代码。类是子类用来继承的。当父类已经有实际功能的方法时,子类可以不必实现,直接引用父类的方法,子类也可以重新该父类的方法。

28. .Net和Mono的关系

mono是.net的开源跨平台工具。就类似java虚拟机,java本身不是跨平台语音,但运行在虚拟机上就能够实现跨平台。.net只能在windows下运行,mono可以实现跨平台运行。

29.Unity中用于记录节点空间几何信息的组件是什么?其父类是什么?

Transform,父类是Compoent

30.点乘,叉乘,归一化

点乘:表述了两个向量间的相似度,结果越大两向量越相似,还可以表示投影
叉乘:叉乘得到的值垂直于原先的两个向量。
归一化:标准化的向量,只有方向,没有大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity面试题 的相关文章

  • 神经网络记忆_带记忆的神经网络

    神经网络记忆 深度学习 DEEP LEARNING We always heard that Neural Networks NNs are inspired by biological neural networks This huge
  • 初探TVM--TVM优化resnet50

    测试用TVM编译出的resnet50在CPU上的效果 测试resnet50在CPU上的效果 编译后的resnet50模型 图像预处理 运行编译后的模型 查看输出结果 resnet50自动调优 模型调优 auto tune 编译调优过的模型
  • Java: Observer Patterns

    版权所有 2022 涂聚文有限公司 许可信息查看 描述 观察者模式 Observer Patterns 也叫做发布 订阅模式 Publist Subscribe 模型 视图模式 Model View 源 监听器 Source Listene

随机推荐

  • [毕业设计]最新通信工程专业毕设选题题目推荐汇总

    文章目录 1前言 2 如何选题 3 通信工程选题方向 3 1 移动通信方向 3 2 嵌入式开发方向 3 3 人工智能方向 3 4 物联网方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最
  • DevOps到底是什么意思?

    提到DevOps这个词 我相信很多人一定不会陌生 作为一个热门的概念 DevOps近年来频频出现在各大技术社区和媒体的文章中 备受行业大咖的追捧 也吸引了很多吃瓜群众的围观 那么 DevOps是什么呢 有人说它是一种方法 也有人说它是一种工
  • 为什么要在测试集中不需要使用fit_transform的原因?

    假设我们有一组数据 10 20 30 则标准化之后的数据为 array 1 22474487 0 1 22474487 这组数据的均值为 20 0 标准差为 8 16496580927726 标准化之后的这组数据 其标准差为1 均值为0 假
  • 张钜楷:1.22黄金原油下周实时行情趋势分析及黄金独家操作建议指导

    黄金行情走势分析 周五 1月21日 国际金价进一步走低 远离隔夜创下的11月22日以来高位1847 87美元 盎司 金价对美国升息很敏感 利率上升会降低持有无孳息黄金的吸引力 但金价周线有望连续第二周收阳 本周到目前为止累计涨幅逾0 8 因
  • sql查找一列中某一数值出现次数大于2的记录

    sql查找一列中某一数值出现次数大于2的记录 百度知道
  • 机械臂控制——4

    Robot Drivers 机器人驱动程序可以控制连接到计算机的真实机器人 机器人驱动程序使用通用软件接口来控制和监视特定的机器人控制器 使计算机能够控制工业机器人 机器人驱动程序提供了脱机编程的替代方案 程序被模拟 生成 然后传输到机器人
  • python人工智能应用实例_90后博士说,从Python到人工智能只差这35个趣味案例,越学越有趣...

    有趣的生活每个人都向往 有趣的Python编程学习方式却不是每个人都体验过 以这35个趣味案例开始 让兴趣成为学习Python最好的动力 看看这35个趣味案例 几乎是每个案例都对应着一个Python的知识点 比如 以照猫画虎的案例 教你剖析
  • mysql中geometry类型的简单使用(搜索附近的人)

    mysql中geometry类型的简单使用 编写本文的目的 让和两天前的我一样的初学者 能够更快的使用geometry类型存储空间点数据 也是为了自己加深印象 更熟练的使用geometry类型 建表脚本 CREATE TABLE z gis
  • 微信小程序云开发教程一

    微信小程序云开发 初学者入门教程一 云开发环境搭建 本教程适合刚刚入门的小白 云开发为开发者提供完整的云端支持 弱化后端和运维概念 无需搭建服务器 使用平台提供的 API 进行核心业务开发 即可实现快速上线和迭代 同时这一能力 同开发者已经
  • Pandas数据分析初学--开始了解数据

    探索Chipotle快餐数据 作为一个Pandas初学者 今天用这道题目练手 分享出来 首先 impotr pandas as pd 1 将数据集存入一个名为chipo的数据框内 iris filename chipotle csv chi
  • SkyWalking链路追踪中Trace概念以及Trace与span的关系

    基本概念 在SkyWalking链路追踪中 Trace 追踪 是指一个请求或者一个操作从开始到结束的完整路径 它涵盖了分布式系统中所有相关组件的调用关系和性能信息 具体来说 Trace包含了一系列的span 跨度 每个span代表了一个组件
  • kibana使用_从kibana迁移到grafana作为elasticsearch的展现

    今天说说 我们为什么会选择从kibana迁移到grafana 并选用grafana作为elasticsearch的图表展现工具 文章中关于kinaba和grafana的对比会有些片面 勿喷 最一开始使用kibana ElasticSearc
  • java 正则表达式_a-z_0-9 validation,掌握Java-Bean Validation

    数据校验虽然简单 但是却是一个繁琐的事 我在无数的代码看到if判断参数 然后错了打日志抛异常 一片一片的这种代码 如果有点重复了 再弄出N个xxUtil来归纳代码 虽然这种做法可以达到效果 但是代码散乱 一个是编写麻烦 一个是不易阅读 Ja
  • Pyqt5设计打开电脑摄像头+拍照(转载)

    本片为利用Pyqt5设计一个可以打开摄像头进行拍照的Demo 我感觉以后可能会有用 记录一下 Demo运行视频 哈哈感觉很好玩 用到的模块安装 库 安装 作用 PyQt5 pip install PyQt5 界面设计 opencv pyth
  • [网络安全自学篇] 三十五.恶意代码攻击检测及恶意样本分析

    本文主要结合作者的 系统安全前沿 作业 论文及绿盟李东宏老师的博客 从产业界和学术界分别详细讲解恶意代码攻击溯源的相关知识 在学术界方面 用类似于综述来介绍攻击追踪溯源的不同方法 在产业界方面 主要参考李东宏老师从企业恶意样本分析的角度介绍
  • 单调递增队列(全过程图文实现 另附习题)

    什么是单调队列 有什么用 不妨用一个问题来说明单调队列的作用和操作 不断地向缓存数组里读入元素 也不时地去掉最老的元素 不定期的询问当前缓存数组里的最小的元素 最直接的方法 普通队列实现缓存数组 进队出队都是O 1 一次查询需要遍历当前队列
  • 手把手教你如何 远程控制另一台电脑 保姆教程

    现在win10可以实现两台电脑之间的远程控制 下面我就分享一下如何利用快速助手进行远程控制另一台电脑 每一步都有截图 实验环境 两台win10系统的电脑 一 打开电脑后 需要设置允许电脑进行远程控制 进入 控制面板 系统和安全 系统 远程控
  • python文件操作图形化——python实战项目:单词练习系统

    python 文件操作与图形化编程 目录 python 文件操作与图形化编程 文件基本操作 图形化界面tkinter 单词练习系统 文件基本操作 D Python example txt 文件路径 D Python 文件名 example
  • 并行计算出现 pickle.PicklingError

    from multiprocessing import Pool def my function x return x x if name main inputs 1 2 3 4 5 with Pool 2 as p results p m
  • Unity面试题

    Unity基础面试题 1 什么是协同程序 2 Unity3D中碰撞器和触发器的区别 3 物体发生碰撞的必要条件 4 ArrayList和list的区别 5 如何安全的在不同工程间迁移Asset 6 OnEnable Awake Start的