天天招生网
您的位置:首页 >> IT培训 >> 3G >> 上海蓝鸥科技有限公司 >> 详细课程

Unity3D面试题汇总

  • 学费:咨询 优惠价格:咨询
  • 开课时间:咨询 学时:3-6个月 浏览量:
  • 授课机构:上海蓝鸥科技有限公司
  • 上课地点:上海市松江区泗泾镇九干路168号丽德创业园附1楼310室

联系方式: 15800649059

Unity3D面试题汇总题目只是面试官选拔人才的一部分,在研究面试题目的过程中,多检测下自己的不足,及时温习或补习下,最终学到真本事才是最重要的。下面总结的Unity3D面试题,希望能对你有所帮助

1请简述值类型与引用类型的区别

答:区别:

1) 值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。

2) 值类型存取快,引用类型存取慢。

3) 值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。

4) 栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。

5) 值类型继承自System.ValueType,引用类型继承自System.Object

2C#中所有引用类型的基类是什么

答:引用类型的基类是System.Object 值类型的基类是System.ValueType

同时,值类型也隐式继承自System.Object

3请简述GC(垃圾回收)产生的原因,并描述如何避免?

答:GC回收堆上的内存

避免:1)减少new产生对象的次数

      2)使用公用的对象(静态成员)

      3)将String换为StringBuilder

4请描述Interface与抽象类之间的不同

答:抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公公只能定义各个方法的界面 ,不能具体的实现代码在成员方法中。

类是子类用来继承的,当父类已经有实际功能的方法时该方法在子类中可以不必实现,直接引用父类的方法,子类也可以重写该父类的方法。

实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个。

5请简述关键字Sealed用在类声明和函数声明时的作用

答:类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。

6请简述privatepublicprotectedinternal的区别

答:

public:对任何类和成员都公开,无限制访问

private:仅对该类公开

protected:对该类和其派生类公开

internal:只能在包含该类的程序集中访问该类

7简述Unity3D支持的作为脚本的语言的名称

答:Unity的脚本语言基于Mono.Net平台上运行,可以使用.NET库,这也为XML、数据库、正则表达式等问题提供了很好的解决方案。

Unity里的脚本都会经过编译,他们的运行速度也很快。这三种语言实际上的功能和运行速度是一样的,区别主要体现在语言特性上。

JavaScript:和网页中常用的JavaScript不一样,它编译后的运行速度很快,语法方面也会有不少区别。

Boo:可以看做是Python语言的变种,又糅合了RubyC#的特性,它是静态类型语言

8Unity3D是否支持写成多线程程序?如果支持的话需要注意什么?

仅能从主线程中访问Unity3D的组件,对象和Unity3D系统调用

支持:如果同时你要处理很多事情或者与Unity的对象互动小可以用thread,否则使用coroutine

注意:C#中有lock这个关键字,以确保只有一个线程可以在特定时间内访问特定的对象

9Unity3D的协程和C#线程之间的区别是什么?

答: 多线程程序同时运行多个线程 ,而在任一指定时刻只有一个协程在运行,并且这个正在运行的协同程序只在必要时才被挂起。除主线程之外的线程无法访问Unity3D的对象、组件、方法。

Unity3d没有多线程的概念,不过unity也给我们提供了StartCoroutine(协同程序)和LoadLevelAsync(异步加载关卡)后台加载场景的方法。 StartCoroutine为什么叫协同程序呢,所谓协同,就是当你在StartCoroutine的函数体里处理一段代码时,利用yield语句等待执行结果,这期间不影响主程序的继续执行,可以协同工作。而LoadLevelAsync则允许你在后台加载新资源和场景,所以再利用协同,你就可以前台用loading条或动画提示玩家游戏未卡死,同时后台协同处理加载的事宜asynchronous .synchronous同步。 

10Unity3D中用于记录节点空间几何信息的组件名称,及其父类名称

答:Transform 父类是 Component

11简述四元数的作用,四元数对欧拉角的优点?

答:四元数用于表示旋转

相对欧拉角的优点:

1)能进行增量旋转

2)避免万向锁

3)给定方位的表达方式有两种,互为负(欧拉角有无数种表达方式)

12向量的点乘、叉乘以及归一化的意义?

1)点乘描述了两个向量的相似程度,结果越大两向量越相似,还可表示投影

2)叉乘得到的向量垂直于原来的两个向量

3)标准化向量:用在只关系方向,不关心大小的时候

13矩阵相乘的意义及注意点

用于表示线性变换:旋转、缩放、投影、平移、仿射

注意矩阵的蠕变:误差的积累

14请简述如何在不同分辨率下保持UI的一致性

NGUI很好的解决了这一点,屏幕分辨率的自适应性,原理就是计算出屏幕的宽高比跟原来的预设的屏幕分辨率求出一个对比值,然后修改摄像机的size

原生GUI

15为什么dynamic fontunicode环境下优于static font

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。

使用动态字体时,Unity将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。

16在场景中放置多个Camera并同时处于活动状态会发生什么?

答:游戏界面可以看到很多摄像机的混合

17Prefab的作用?如何在移动环境的设备下恰当地使用它?

答:Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改

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

答:Destory

19为什么Unity3D中会发生在组件上出现数据丢失的情况?

答:组件上绑定的对象被删除了

20如何安全的在不同工程间安全地迁移asset数据?三种方法

答:将Assets目录和Library目录一起迁移导出包用unity自带的assets Server功能

21MeshRendermaterialsharedmaterial的区别?

修改sharedMaterial将改变所有物体使用这个材质的外观,并且也改变储存在工程里的材质设置。不推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代。

蓝鸥科技是一家移动互联网研发实训基地,也是中国知名的移动开发人才输出服务提供商。2012年由刘辉、李静波和崔亚允联合创立。 蓝鸥科技以让移动互联网成为更多人的创梦基地为使命。蓝鸥的unity3d课程紧跟时代潮流,前沿技术,专业研发团队打造全新课程体系,内容全面新颖,由浅入深,实训教学模式,重点突出,直线对接,企业需求,实战训练直通高薪。蓝鸥Unity培训课程,随着最新的Unity系统更新而更新。随着最新企业技术需求,而修改课程的技术知识点,让学院学到最实用的知识。而且在原有课程的基础上,增加了时下流行的VRAR课程。蓝鸥unity项目阶段按照企业流程和标准完成项目,增加了学员的综合能力,强化协同开发。学unity,找蓝鸥,了解更多课程详情登录蓝鸥上海官网

上海市松江区泗泾镇九干路168号丽德创业园附1楼蓝鸥科技

电话:021-37629222

QQ:2161519036

手机:15800649059

http://sh.lanou3g.com/



阅读上一篇:上海Unity3d培训:游戏开发要注意的10件事
阅读下一篇:暂无

相关课程

培训机构联系方式

本培训机构其他课程

专题推荐

三百六十行,欢迎各培训机构加盟