unity3d笔试题

合集下载

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中的一种资源,它允许开发者保存游戏对象的配置,并在多个场景中重复使用。

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分)。

游戏公司笔试面试题目(3篇)

游戏公司笔试面试题目(3篇)

第1篇一、笔试部分一、选择题(每题2分,共20分)1. 以下哪个不属于游戏设计的基本原则?A. 简洁性原则B. 一致性原则C. 可访问性原则D. 创新性原则2. 以下哪个不属于游戏引擎?A. UnityB. Unreal EngineC. CryEngineD. Photoshop3. 游戏角色设计时,以下哪个不是需要考虑的因素?A. 角色背景故事B. 角色外观形象C. 角色性格特点D. 角色技能树4. 游戏策划中,以下哪个不属于关卡设计要素?A. 关卡目标B. 关卡难度C. 关卡时间D. 关卡奖励5. 以下哪个不属于游戏美术资源?A. 纹理B. 模型C. 动画D. 音效6. 游戏测试中,以下哪个不属于测试类型?A. 功能测试B. 性能测试C. 兼容性测试D. 心理测试7. 游戏运营中,以下哪个不属于运营策略?A. 用户留存B. 用户活跃C. 游戏优化D. 竞品分析8. 游戏市场营销中,以下哪个不属于营销渠道?A. 社交媒体B. 应用商店C. 游戏论坛D. 直播平台9. 游戏开发中,以下哪个不属于开发阶段?A. 需求分析B. 设计阶段C. 开发阶段D. 维护阶段10. 游戏公司中,以下哪个不属于核心部门?A. 游戏策划B. 游戏美术C. 游戏开发D. 财务部门二、填空题(每题2分,共20分)1. 游戏设计的基本原则包括:_______、_______、_______、_______。

2. 游戏引擎的主要功能包括:_______、_______、_______。

3. 游戏角色设计时,需要考虑的因素包括:_______、_______、_______。

4. 游戏关卡设计要素包括:_______、_______、_______。

5. 游戏美术资源主要包括:_______、_______、_______。

6. 游戏测试类型包括:_______、_______、_______。

7. 游戏运营策略包括:_______、_______、_______。

(完整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的区别.。

佳诺明德教育Unity3D试题(八)

佳诺明德教育Unity3D试题(八)

佳诺明德教育Unity3D试题一、什么叫动态合批?跟静态合批有什么区别?答:如果动态物体共用着相同的材质,那么Unity会自动对这些物体进行批处理。

动态批处理操作是自动完成的,并不需要你进行额外的操作。

区别:动态批处理一切都是自动的,不需要做任何操作,而且物体是可以移动的,但是限制很多。

静态批处理:自由度很高,限制很少,缺点可能会占用更多的内存,而且经过静态批处理后的所有物体都不可以再移动了。

参考二、简述StringBuilder和String的区别?答:String是字符串常量。

StringBuffer是字符串变量,线程安全。

StringBuilder是字符串变量,线程不安全。

String类型是个不可变的对象,当每次对String进行改变时都需要生成一个新的String 对象,然后将指针指向一个新的对象,如果在一个循环里面,不断的改变一个对象,就要不断的生成新的对象,所以效率很低,建议在不断更改String对象的地方不要使用String 类型。

StringBuilder对象在做字符串连接操作时是在原来的字符串上进行修改,改善了性能。

这一点我们平时使用中也许都知道,连接操作频繁的时候,使用StringBuilder对象。

三、Unity3D Shader分哪几种,有什么区别?答:表面着色器的抽象层次比较高,它可以轻松地以简洁方式实现复杂着色。

表面着色器可同时在前向渲染及延迟渲染模式下正常工作。

顶点片段着色器可以非常灵活地实现需要的效果,但是需要编写更多的代码,并且很难与Unity的渲染管线完美集成。

固定功能管线着色器可以作为前两种着色器的备用选择,当硬件无法运行那些酷炫Shader 的时,还可以通过固定功能管线着色器来绘制出一些基本的内容。

四、已知strcpy函数的原型是:char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数,实现strcpy函数。

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秒开始⾄今的总毫秒数。

3D程序笔试题

3D程序笔试题

一、一些3D问题:(公司使用的是D3D,如果不熟,用OpenGL举例回答也可以)1.请介绍D3D或OpenGL中渲染对象时需要设置的3个矩阵及它们各自的作用世界矩阵(World Matrix)、视图矩阵(View Matrix)以及投影矩阵(Projection Matirx);世界矩阵确定一个统一的世界坐标,用于组织独立的物体形成一个完整的场景;视图矩阵就是我们能看到的那部分场景,由虚拟摄像机负责拍摄;投影矩阵就是3维物体的平面影射.把三维场景在一个二维的平面上显示.2.请简单介绍D3D的渲染流水线流程及各步骤的作用,以及实际应用中我们可以在这些步骤做些什么效果应用?可分为两个阶段,T&L和光栅化处理;主要步骤包括世界变换、视图变换、照明、投影变换、裁剪、w切分、视口变换等.通过渲染流水线可以得到视觉上的三维场景及其变换效果.3.ZBuffer有什么作用,渲染任何物体时是否都一定要打开ZBuffer?为什么?深度缓冲.作用是确保多边形能够正确的显示在它们本来的深度.对于两个物体以上的场景来说,一般都要求打开ZBuffer,否则可能出现非正常的立体感观.4.请介绍你所有知道的纹理Alpha混合方式,原理(公式),以及他们的实际应用(做什么样的效果时需要这种方式)公式为: Color = (源颜色* 源系数) OP (目标颜色* 目标系数);其中OP(混合方式)有加,减,反减,取最小,取最大; Alpha混合用于做半透明效果.5.请介绍你所知道的所有3D动画方式、实现原理,以及他们的实际应用(做什么样的效果时需要这种方式)主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画.关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画;单一网络模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实;骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点;骨骼按角色特点组成一定的层次结构,由关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观。

  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()函数
提供了一个用于保存读取数据的类,(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功能
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上调用(funcName)触发。

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

相关文档
最新文档