🗒️Unity 面试手册:中级开发工程师面试题
00 分钟
2024-6-12
2024-6-12
type
status
date
slug
summary
tags
category
icon
password

1.什么是渲染管道?

是指在显示器上为了显示出图像而经过的一系列必要操作。
渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。
主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。

2.如何进行内存优化?

1.压缩自带类库;
2.将暂时不用的以后还需要使用的物体隐藏起来而不是直接Destroy掉;
3.释放AssetBundle占用的资源;
4.降低模型的片面数,降低模型的骨骼数量,降低贴图的大小;
5.使用光照贴图,使用多层次细节(LOD)[全称 Levels of Detail ,进行物体不同细节层次之间的平滑过渡。 根据物体所在的环境和所处位置的重要度,决定渲染。降低不重要和远的物体的面数和细节度。一般都是视距近的物体清楚,视距远的物体模糊。

3.动态加载资源的方式?

1.Resources.Load();
2.AssetBundle

4.什么是协同程序?

在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话说,开启协程就是开启一个线程。可以用来控制运动、序列以及对象的行为。

5.碰撞器和触发器的区别?

碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;
触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。

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

两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

7.在物体发生碰撞的整个过程中,有几个阶段,分别列出对应的函数?

三个阶段1.OnCollisionEnter
2.OnCollisionStay
3.OnCollisionExit

8.Unity3d提供了一个用于保存和读取数据的类(PlayerPrefs),请列出保存和读取整形数据的函数?

PlayerPrefs.SetInt() PlayerPrefs.GetInt()

9.解释一些Unity3d中的灯光有哪些?

有4种,点光源,区域光源,聚光灯,平行光。

10.Unity3d脚本从唤醒到销毁有着一套比较完善的生命周期,请举几个例子?

Awake——>Start——>Update——>FixedUpdate——>LateUpdate——>OnGUI——>Reset——>OnDisable——>OnDestroy

11.物流更新一般放在那个系统函数里?

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

12.移动摄像机的动作放在那个系统函数中,为啥?

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

13.当游戏中需要频繁创建一个物体时,我们需要怎么做?

使用预制物体对象Prefab,然后复制创建。

14.请简述Unity3d下如何安全的在不同工程间迁移asset数据,请列举出三种方法?

1.可以把assets目录和Library目录一起迁移
2.导出包
3.用Unity带的assets Server功能

15.请描述游戏动画有哪几种,以及其原理?

主要有关节动画、骨骼动画、单一网格模型动画(关键帧动画)。
关节动画:把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活,Quake2中使用这种动画;
骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构,有关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观;
单一网格模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实。

16.MipMap是什么,作用?

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

17.localPosition和Position的区别?

应该是局部坐标(相对于父节点的)和世界坐标
在Unity中,localPosition和position是两个表示物体位置的属性。
localPosition表示相对于父物体坐标系的位置。换句话说,它是相对于父物体的位置偏移量。当你更改一个物体的localPosition时,它将根据其父物体的位置进行相应的移动。这意味着,如果你的父物体移动,子物体的位置也会随之改变。localPosition是以局部坐标系表示的。
position表示物体在世界坐标系中的位置。它是相对于场景中的全局坐标系的位置。当你更改一个物体的position时,它将在场景中移动到指定的位置,不受父物体的影响。
总结来说,localPosition是相对于父物体的位置,而position是相对于场景中的全局位置。使用哪个属性取决于你想要实现的效果和需求。如果你想相对于父物体进行位置调整,使用localPosition;如果你想在场景中进行绝对定位,使用position。

 
 
 
 
💡
欢迎您在底部评论区留言,一起交流~
💡

🔈免责声明

 
👋本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
👋附: 二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
👋注:本站所有资源均来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系:tdouguo@163.com 我们将配合处理!

🔈版权声明:

一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
 

在您访问本站时默认您以同意并阅读《本站协议

 
上一篇
Unity 面试手册
下一篇
Anna’s Archive发布 包含521.1TB 资源JSON格式种子文件,囊括Library Genesis、Sci-Hub、Z-Library内容

评论
Loading...