2020年整理unity3d笔试题.doc

合集下载

unity3d工程师校招笔试题

unity3d工程师校招笔试题

unity3d工程师校招笔试题Unity3D是一款流行的游戏开发引擎,广泛应用于游戏开发和虚拟现实领域。

作为Unity3D工程师,你将需要具备一定的编程知识和技能。

下面是一些常见的Unity3D工程师校招笔试题,供你参考。

1.什么是Unity3D游戏引擎?它有哪些特点和优势?Unity3D是一款强大的跨平台游戏引擎,可以用于开发PC、移动设备和虚拟现实等多个平台的游戏和应用。

它的特点和优势包括:-跨平台支持:可以将游戏应用一次开发,多平台发布。

-直观易用的编辑器:Unity3D提供了可视化的编辑器,使得开发者可以方便地创建游戏场景、添加角色、设置物理效果等。

-强大的工具库:Unity3D拥有丰富的工具库,包括粒子系统、物理引擎、音频系统等,可以帮助开发者快速实现各种功能。

-支持脚本编程:Unity3D支持多种脚本编程语言,如C#和JavaScript,开发者可以根据自己的需求选择合适的语言进行开发。

-社区支持:Unity3D拥有庞大的开发者社区,可以分享经验、解决问题,提供丰富的资源和插件供开发者使用。

2.请简要解释下Unity3D中的场景(Scene)、游戏对象(GameObject)和组件(Component)的概念,并描述它们之间的关系。

-场景(Scene):Unity3D中的场景是游戏或应用的一个特定环境或界面,可以包含不同的游戏对象和组件。

场景可以通过Unity3D的编辑器来创建和编辑。

-游戏对象(GameObject):游戏对象是Unity3D中的基本单元,可以是角色、物体、粒子等。

游戏对象可以具有位置、旋转、缩放等属性,并可以添加组件来实现不同的功能。

-组件(Component):组件是游戏对象的一部分,可以添加在游戏对象上来实现特定的功能。

比如,音频源组件可以添加在游戏对象上,用于播放音频;刚体组件可以添加在游戏对象上,实现物理碰撞效果。

一个游戏对象可以有多个组件。

游戏对象通过添加和配置组件来实现不同的功能。

unity测试题及答案

unity测试题及答案

unity测试题及答案Unity测试题及答案一、选择题(每题2分,共20分)1. Unity是由哪家公司开发的?A. AdobeB. MicrosoftC. Unity TechnologiesD. Apple2. Unity支持以下哪种编程语言?A. PythonB. C#C. JavaD. Ruby3. 在Unity中,以下哪个组件用于控制游戏对象的位置、旋转和缩放?A. ColliderB. RendererC. TransformD. Rigidbody4. Unity的哪个版本开始支持2D游戏开发?A. Unity 3.5B. Unity 4.0C. Unity 5.0D. Unity 2.65. 在Unity中,以下哪个函数用于更新游戏对象的状态?A. Start()B. Update()C. FixedUpdate()D. LateUpdate()二、判断题(每题1分,共10分)6. Unity是一个开源的游戏引擎。

()7. Unity支持VR和AR开发。

()8. Unity只能用于开发游戏。

()9. Unity的默认渲染管线是Lightweight。

()10. Unity的脚本默认保存在Assets目录下的Scripts文件夹中。

()三、简答题(每题5分,共30分)11. 请简述Unity中Prefab的概念。

12. 请解释Unity中的Layer的概念及其作用。

13. 请描述Unity中的物理引擎如何工作。

14. 请解释Unity中Animation与Animator组件的区别。

四、编程题(每题15分,共40分)15. 编写一个Unity C#脚本,实现一个简单的移动功能,使游戏对象在按下W键时向前移动。

16. 设计一个Unity场景,包含至少一个光源、一个摄像机和一个可交互的游戏对象。

编写脚本来控制游戏对象在摄像机视野内时被高亮显示。

答案:一、1. C2. B3. C4. A5. B二、6. ×(Unity不是完全开源的)7. √8. ×(Unity也用于非游戏开发)9. ×(Unity的默认渲染管线是Universal Render Pipeline)10. √三、11. Prefab是Unity中的一种资源,它允许开发者保存游戏对象的配置,并在多个场景中重复使用。

unity初级考试题库及答案

unity初级考试题库及答案

unity初级考试题库及答案1. Unity中,GameObject是什么?- A. 一个脚本文件- B. 一个场景文件- C. 一个游戏对象- D. Unity的编程语言- 答案:C2. 在Unity中,以下哪个组件用于控制游戏对象的移动? - A. 渲染器组件- B. 碰撞器组件- C. 刚体组件- D. 摄像机组件- 答案:C3. Unity中,如何创建一个新的游戏对象?- A. 通过点击“GameObject”菜单- B. 通过点击“Component”菜单- C. 通过点击“Assets”菜单- D. 通过点击“File”菜单- 答案:A4. 在Unity中,Prefab是什么?- A. 一个游戏场景- B. 一个游戏对象的模板- C. 一个Unity的插件- D. 一个Unity的资源文件- 答案:B5. Unity中,脚本编写通常使用哪种语言?- A. C#- B. C++- C. Java- D. Python- 答案:A6. 在Unity中,如何给游戏对象添加一个脚本?- A. 将脚本文件拖放到游戏对象上- B. 在游戏对象上点击右键,选择“Add Component” - C. 将游戏对象拖放到脚本文件上- D. 在游戏对象上点击右键,选择“Attach Script” - 答案:B7. Unity中,以下哪个是Unity的物理引擎?- A. PhysX- B. Havok- C. Bullet- D. NVIDIA FleX- 答案:A8. 在Unity中,如何修改游戏对象的属性?- A. 通过Inspector窗口- B. 通过Hierarchy窗口- C. 通过Project窗口- D. 通过Console窗口- 答案:A9. Unity中,以下哪个是用于创建UI元素的组件?- A. 按钮- B. 纹理- C. 摄像机- D. 灯光- 答案:A10. 在Unity中,如何保存当前场景?- A. 通过点击“File”菜单,选择“Save Scene”- B. 通过点击“File”菜单,选择“Save”- C. 通过点击“File”菜单,选择“Save As”- D. 通过点击“File”菜单,选择“Save All”- 答案:A11. Unity中,以下哪个是用于控制游戏对象朝向的组件?- A. 刚体组件- B. 碰撞器组件- C. 灯光组件- D. 朝向组件- 答案:A12. 在Unity中,如何创建一个新的材质?- A. 在Project窗口中右键点击,选择“Create”然后选择“Material”- B. 在Hierarchy窗口中右键点击,选择“Create”然后选择“Material”- C. 在Inspector窗口中右键点击,选择“Create”然后选择“Material”- D. 在Console窗口中右键点击,选择“Create”然后选择“Material”- 答案:A13. Unity中,以下哪个是用于控制游戏对象的缩放的属性?- A. Position- B. Scale- C. Rotation- D. Transform- 答案:B14. 在Unity中,如何实现游戏对象的旋转?- A. 使用Transform组件的Rotation属性- B. 使用Transform组件的Position属性- C. 使用Transform组件的Scale属性- D. 使用刚体组件的AngularVelocity属性- 答案:A15. Unity中,以下哪个是用于控制游戏对象的透明度的属性? - A. Alpha- B. Opacity- C. Transparency- D. Color- 答案:D。

unity3d笔试题

unity3d笔试题

Unity1. u3d用u3d实现2d游戏,有几种方式1.利用引擎自带的GUI2.把摄像机设为Orthographic,用面片作为2d元素3.利用第三方插件:NGUI、2dToolkit2. u3d物体发生碰撞时,有几个阶段,分别对应的函数三个阶段,OnCollisionEnter/Stay/Exit()函数提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数(string, int) 与(string)从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法(按执行顺序书写至少五个)。

Awake –>OnEnable –> Start –> Update –> FixedUpdate –> LateUpdate –> OnGUI –> OnDisable –> OnDestroy下如何安全的在不同工程迁移asset数据方法1,可以把assets目录和Library目录一起迁移,方法2,导出包Export Package方法3,用unity带的assets server功能或meta功能Ngui1 NGUI:有两张图集Altas1和Altas2,Altas1中有一张图Background,Altas2中有一张图叫Element,分别作出三个Sprite B1、E、B2,如何让这三个Sprite在镜头前显示顺序为B2盖住E且E盖住B1(如下图所示)将B1和E放在在同一个Panel P1下,调整E的depth高于B1;将B2放在另一个Panel P2下,将P2所在的z轴调整为-1(或更小的数)2 NGUI:图集里有图A,使用哪种控件可以实现在场景中显示为图B:图A 图BSlicedSprite,设置这张图在图集中的Border的上下左右边框范围,再拉伸UISprite3 NGUI: Sprite有哪几种分别有什么用途Sprite(一张普通的图片)Sliced Sprite(一个含有9个切片的Sprite,创建固定边框的拉伸控件最佳选择)Tiled Sprite(一个Sprite缩放填充整个区域,即平铺)Filled Sprite(一个Sprite有一个参数来控制哪些是可见的,常被用来做进度条或者技能CD)4 NGUI:NGUI的控件A上脚本里的方法OnClick()、OnPressed()的触发原理是什么控件有什么比较条件才能被触发这些方法UICamera每帧从鼠标的位置向场景打射线,遇到有Collidier的控件后,根据鼠标的操作(悬浮、点击、按下、松开等)向控件A上调用(funcName)触发。

Unity3D笔试题

Unity3D笔试题

炫彩互动Unity3D工程师笔试题一:值类型和引用类型有何区别?(6分)
二:C#中所有引用类型的基类是什么?(4分)
三:结构体和类有何区别?(5分)
四:请描述Interface与抽象类之间的不同(5分)
五:请简述GC(垃圾回收)产生的原因,并描述如何避免?(5分)
六:Unity3d脚本从唤醒到销毁有着一套比较完整的生命周期,请列出系统自带的几个重要的方法。

(5分)
七:OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?(5分)
八:物理更新一般放在哪个系统函数里?(5分)
九:CharacterController和Rigidbody的区别?(5分)
十:MeshRender中material和sharedmaterial的区别?(5分)
十一:什么是协同程序?(5分)
十二:什么是渲染管道?(5分)
十三:.Net与Mono的关系?(4分)
十四:向量的点乘、叉乘以及归一化的意义?(6分)十五:Heap与Stack有何区别?(5分)
十六:概述序列化:(5分)
十七.如何优化内存?(10分)
十八:N个元素取出最大(小)的K个元素,请说明思路及算法?(10分)。

2020年整理unity3d笔试题.doc

2020年整理unity3d笔试题.doc

Unity1. u3d用u3d实现2d游戏,有几种方式?1.利用引擎自带的GUI2.把摄像机设为Orthographic,用面片作为2d元素3.利用第三方插件:NGUI、2dToolkit2. u3d物体发生碰撞时,有几个阶段,分别对应的函数三个阶段,OnCollisionEnter/Stay/Exit()函数3.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数PlayerPrefs.SetInt(string, int) 与PlayerPrefs.GetInt(string)4.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法(按执行顺序书写至少五个)。

Awake –>OnEnable –> Start –> Update –> FixedUpdate –> LateUpdate –> OnGUI –> OnDisable –> OnDestroy5.u3d下如何安全的在不同工程迁移asset数据方法1,可以把assets目录和Library目录一起迁移,方法2,导出包Export Package方法3,用unity带的assets server功能或meta功能Ngui1 NGUI:有两张图集Altas1和Altas2,Altas1中有一张图Background,Altas2中有一张图叫Element,分别作出三个Sprite B1、E、B2,如何让这三个Sprite在镜头前显示顺序为B2盖住E且E盖住B1?(如下图所示)将B1和E放在在同一个Panel P1下,调整E的depth高于B1;将B2放在另一个Panel P2下,将P2所在的z轴调整为-1(或更小的数)2 NGUI:图集里有图A,使用哪种控件可以实现在场景中显示为图B:图A 图BSlicedSprite,设置这张图在图集中的Border的上下左右边框范围,再拉伸UISprite3 NGUI: Sprite有哪几种?分别有什么用途?Sprite(一张普通的图片)Sliced Sprite(一个含有9个切片的Sprite,创建固定边框的拉伸控件最佳选择)Tiled Sprite(一个Sprite缩放填充整个区域,即平铺)Filled Sprite(一个Sprite有一个参数来控制哪些是可见的,常被用来做进度条或者技能CD)4 NGUI:NGUI的控件A上脚本里的方法OnClick()、OnPressed()的触发原理是什么?控件有什么比较条件才能被触发这些方法?UICamera每帧从鼠标的位置向场景打射线,遇到有Collidier的控件后,根据鼠标的操作(悬浮、点击、按下、松开等)向控件A上调用gameObject.SendMessage(funcName)触发。

(完整word版)Unity3D客户端笔试题

(完整word版)Unity3D客户端笔试题

1.请写出一个函数, 使用递归, 查找出一个GameObject下
的任意层级的指定名称的物体.
2.简述OnAnimatorMove()的意义和实际用处
3.简述Animator.MatchTarget的意义和实际用处
4.请用一段代码来说明四肢部分的IK在Unity中的实际用法
5.在手机上, 假如当玩家正在进行游戏的时候接听了一个电话或者按下home键暂时离开游戏, 然后重新回到游戏中的时候, 这时我们希望在脚本中知道玩家离开游戏并且重新回
来了, 应该如何实现?
6.简述为rigidBody.velocity赋值或者使用rigidBody.AddForce()函数, 两者在改变物体运动速度时的
不同特点.
7.简述LateUpdate的用场以及原理
8.分别简述Resources文件夹以及StreamingAssets文件夹
的意义, 以及他们的不同之处.
9.简述游戏运行时的主要性能消耗点,以及对应的优化方法。

10.简述Vector3.MoveTowards, Vector3.RotateTowards ,
Vector3.Lerp 以及Vector3.SmoothDamp的区别.。

Unity笔试面试题目分享

Unity笔试面试题目分享

Unity笔试⾯试题⽬分享这⼏天在准备找⼯作,拿出了以前的⼀些资料,整理了⼀下分享出来看看,⼀是⽅便⾃⼰查漏补缺,⼆来其中的⼤部分问题是⾃⼰理解概括的,有⼤佬如果看到有错误的地⽅能够评论交流⼀下⾃然是最好的啦!希望早点找到⼀个⼯作可以不⽤在家躺⼫了......以下开始归纳题⽬——第⼀部分1.点乘与叉乘,⼏何意义及公式点乘:计算投影和两个向量之间的夹⾓ |a||b|cos<a,b>叉乘:计算两个向量组成平⾯的法线⽅向,计算法线,可以计算出a向量与b向量组成的平⾏四边形的⾯积 |a||b|sin<a,b>2.以下代码的意图是什么?有没有什么问题?应该怎么写?for(int i=0;i<10;i++){ if(list[i]==9) { list.RemoveAt(i); }}超出索引值,因为在移除指定下标的元素后会丢失元素,所以索引最多只能到8,⽽不能到9,并且在遍历的时候不应该删除元素。

3.数组,List,ArrayList的区别数组:在内存中是连续存储的,有下标,访问迅速,便于赋值以及修改数据,但是需要预先向内存申请指定的空间。

ArrayList:在ArrayList中插⼊不同类型的数据是允许的,将所有数据都转化为Object来使⽤,可能出现不匹配的问题,类型是属于不安全的数据结构类型,⽽且装箱和拆箱操作会导致性能受到很⼤的损耗。

因此导致了List诞⽣,也因此衍⽣了泛型的概念。

List:可以使⽤泛型来动态的指定对象的类型,减少了类型转换和运⾏时出错的可能性,动态地根据加⼊或减少的元素数量进⾏空间的删减,存储不是连续的,移除某个元素之后会导致后⾯的元素移动到前⾯。

4.有⼀个需求,要求体⼒每5分钟增加1点,可以通过int GetTimeStamp()函数获取当前时间戳,如何实现该需求,要保存什么数据,或者应当⽤什么⽅式来刷新体⼒。

时间戳:从1970年1⽉1⽇00点00分00秒开始⾄今的总毫秒数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Unity
1. u3d用u3d实现2d游戏,有几种方式?
1.利用引擎自带的GUI
2.把摄像机设为Orthographic,用面片作为2d元素
3.利用第三方插件:NGUI、2dToolkit
2. u3d物体发生碰撞时,有几个阶段,分别对应的函数
三个阶段,OnCollisionEnter/Stay/Exit()函数
3.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数PlayerPrefs.SetInt(string, int) 与PlayerPrefs.GetInt(string)
4.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法(按执行顺序书写至少五个)。

Awake –>OnEnable –> Start –> Update –> FixedUpdate –> LateUpdate –> OnGUI –> OnDisable –> OnDestroy
5.u3d下如何安全的在不同工程迁移asset数据
方法1,可以把assets目录和Library目录一起迁移,
方法2,导出包Export Package
方法3,用unity带的assets server功能或meta功能
Ngui
1 NGUI:有两张图集Altas1和Altas2,Altas1中有一张图Background,Altas2中有一张图叫Element,分别作出三个Sprite B1、E、B2,如何让这三个Sprite在镜头前显示顺序为B2盖住E且E盖住B1?(如下图所示)
将B1和E放在在同一个Panel P1下,调整E的depth高于B1;将B2放在另一个Panel P2下,将P2所在的z轴调整为-1(或更小的数)
2 NGUI:图集里有图A,使用哪种控件可以实现在场景中显示为图B:
图A 图B
SlicedSprite,设置这张图在图集中的Border的上下左右边框范围,再拉伸UISprite
3 NGUI: Sprite有哪几种?分别有什么用途?
Sprite(一张普通的图片)
Sliced Sprite(一个含有9个切片的Sprite,创建固定边框的拉伸控件最佳选择)
Tiled Sprite(一个Sprite缩放填充整个区域,即平铺)
Filled Sprite(一个Sprite有一个参数来控制哪些是可见的,常被用来做进度条或者技能CD)
4 NGUI:NGUI的控件A上脚本里的方法OnClick()、OnPressed()的触发原理是什么?控件有什么比较条件才能被触发这些方法?
UICamera每帧从鼠标的位置向场景打射线,遇到有Collidier的控件后,根据鼠标的操作(悬浮、点击、按下、松开等)向控件A上调用gameObject.SendMessage(funcName)触发。

控件必须有碰撞盒Collider并且大小不为0脚本才可以被触发。

相关文档
最新文档