2022年史上最全的Unity面试题整理 .pdf

上传人:C****o 文档编号:33687881 上传时间:2022-08-12 格式:PDF 页数:4 大小:69.03KB
返回 下载 相关 举报
2022年史上最全的Unity面试题整理 .pdf_第1页
第1页 / 共4页
2022年史上最全的Unity面试题整理 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年史上最全的Unity面试题整理 .pdf》由会员分享,可在线阅读,更多相关《2022年史上最全的Unity面试题整理 .pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、六十: Unity3D 的协程和 C#线程之间的区别是什么?多线程程序同时运行多个线程,而在任一指定时刻只有一个协程在运行,并且这个正在运行的协同程序只在必要时才被挂起。除主线程之外的线程无法访问Unity3D 的对象、组件、方法。Unity3d 没有多线程的概念,不过unity 也给我们提供了StartCoroutine (协同程序)和LoadLevelAsync (异步加载关卡)后台加载场景的方法。StartCoroutine 为什么叫协同程序呢,所谓协同, 就是当你在StartCoroutine 的函数体里处理一段代码时,利用 yield 语句等待执行结果,这期间不影响主程序的继续执行,

2、可以协同工作。六十一:矩阵相乘的意义及注意点用于表示线性变换:旋转、缩放、投影、平移、仿射注意矩阵的蠕变:误差的积累六十二:为什么dynamic font 在 unicode环境下优于 static font Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。使用动态字体时,Unity 将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。六十三:当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?穿透(碰撞检测失败)六十四:请简述OnBecameVisible 及 OnBecameIn

3、visible 的发生时机,以及这一对回调函数的意义?当物体是否可见切换之时。可以用于只需要在物体可见时才进行的计算。六十五:什么叫动态合批?跟静态合批有什么区别?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 如果动态物体共用着相同的材质,那么Unity 会自动对这些物体进行批处理。动态批处理操作是自动完成的,并不需要你进行额外的操作。区别: 动态批处理一切都是自动的,不需要做任何操作,而且物体是可以移动的,但是限制很多。静态

4、批处理:自由度很高,限制很少,缺点可能会占用更多的内存,而且经过静态批处理后的所有物体都不可以再移动了。参考六十六:简述StringBuilder 和 String 的区别?String 是字符串常量。StringBuffer 是字符串变量,线程安全。StringBuilder 是字符串变量,线程不安全。String 类型是个不可变的对象,当每次对 String 进行改变时都需要生成一个新的String 对象,然后将指针指向一个新的对象,如果在一个循环里面,不断的改变一个对象,就要不断的生成新的对象,所以效率很低,建议在不断更改String 对象的地方不要使用String 类型。StringB

5、uilder 对象在做字符串连接操作时是在原来的字符串上进行修改,改善了性能。这一点我们平时使用中也许都知道,连接操作频繁的时候,使用StringBuilder 对象。六十七: Unity3D Shader 分哪几种,有什么区别?表面着色器的抽象层次比较高,它可以轻松地以简洁方式实现复杂着色。表面着色器可同时在前向渲染及延迟渲染模式下正常工作。顶点片段着色器可以非常灵活地实现需要的效果,但是需要编写更多的代码,并且很难与Unity 的渲染管线完美集成。固定功能管线着色器可以作为前两种着色器的备用选择,当硬件无法运行那些酷炫Shader的时,还可以通过固定功能管线着色器来绘制出一些基本的内容。六

6、十八:已知 strcpy 函数的原型是: char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数, 实现 strcpy 函数。2.解释为什么要返回char * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - char * strcpy(char * strDest,const char * strSrc) if (strDest=NULL)|(strSrc=NULL

7、) throw Invalid argument(s); char * strDestCopy=strDest; while (*strDest+=*strSrc+)!=0); return strDestCopy; 六十九: C#中四种访问修饰符是哪些?各有什么区别?1.属性修饰符2.存取修饰符3.类修饰符4.成员修饰符。属性修饰符:Serializable:按值将对象封送到远程服务器。STATread:是单线程套间的意思,是一种线程模型。MATAThread :是多线程套间的意思,也是一种线程模型。存取修饰符:public:存取不受限制。private:只有包含该成员的类可以存取。inte

8、rnal:只有当前工程可以存取。protected:只有包含该成员的类以及派生类可以存取。类修饰符:abstract:抽象类。指示一个类只能作为其它类的基类。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - sealed:密封类。指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。成员修饰符:abstract:指示该方法或属性没有实现。sealed:密封方法。可以防止在派生类中对该方法的overri

9、de(重载)。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override 修饰符同时使用。delegate:委托。用来定义一个函数指针。C#中的事件驱动是基于delegate + event 的。const:指定该成员的值只读不允许修改。event:声明一个事件。extern:指示方法在外部实现。override:重写。对由基类继承成员的新实现。readonly:指示一个域只能在声明时以及相同类的内部被赋值。static:指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就

10、可使用。virtual :指示一个方法或存取器的实现可以在继承类中被覆盖。new:在派生类中隐藏指定的基类成员,从而实现重写的功能。若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员,并用new 修饰符修饰它。七十: Heap与 Stack 有何区别?1.heap 是堆, stack 是栈。2.stack 的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用 new关键字来分配。3.stack 空间有限, heap的空间是很大的自由区。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com