欢迎来到天天文库
浏览记录
ID:27562335
大小:78.00 KB
页数:4页
时间:2018-12-04
《史上最全的unity面试题(五)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、六十:Unity3D的协程和C#线程之间的区别是什么?多线程程序同时运行多个线程,而在任一指定时刻只有一个协程在运行,并且这个正在运行的协同程序只在必要时才被挂起。除主线程之外的线程无法访WUnity3D的对象、组件、方法。Unity3d没有多线程的概念,不过unity也给我们提供了StartCoroutine(协同程序)和LoadLevelAsync(昇步加载災卡)后台加载场景的方法。StartCoroutine为什么叫协同程序呢,所谓协同,就是当你在StartCoroutine的喊数体里处理一段代码时
2、,利用yield语句等待执行结果,这期间不影响主程序的继续执行,可以协同工作。六十一:矩阵相乘的意义及注意点用于表示线性变换:旋转、缩放、投影、平移、仿射注意矩阵的蠕变:误差的积累六十二:为什么dynamicfont在Unicode环境下优于staticfontUnicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。使用动态字体时,Unity将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。六十三:当一个细小的高速物体撞
3、向另一个较大的物体时,会出现什么情况?如何避免?穿透(碰撞检测失败)六十四:请简述OnBecameVisible及OnBecamelnvisible的发生时机,以及这一对回调函数的意义?当物体是否可见切换之时。可以用于只需要在物体可见时才进行的计算。六十五:什么叫动态合批?跟静态合批有什么区别?如果动态物体共用着相同的材质,那么Unity会A动对这些物体进行批处理。动态批处理操作是A动完成的,并不需要你进行额外的操作。区别:动态批处理一切都是自动的,不需要做任何操作,而且物体是可以移动的,但是限制很多。静
4、态批处理:由度很商,限制很少,缺点可能会占用更多的N存,而且经过静态批处理后的所有物体都不可以再移动了。参考六十六:简述StringBuilder和String的区别?String是字符串常M:。StringBuffer是字符串变量,线程安全。StringBuilder是字符串变量,线程不安全。String类型是个不可变的对象,当每次对String进行改变时都耑要生成一个新的String对象,然后将指针指向一个新的对象,如果在一个循环里面,不断的改变一个对象,就要不断的生成新的对象,所以效率很低,建议在不
5、断更改String对象的地方不要使用String类型。StringBuilder对象在做字符串连接操作时是在原來的字符串上进行修改,改善了性能。这一点我们平时使用中也许都知道,连接操作频繁的时候,使用StringBuilder对象。六十七:Unity3DShader分哪几种,有什么区别?表面着色器的抽象层次比较高,它可以轻松地以简洁方式实现复杂着色。表面着色器可同时在前向渲染及延迟渲染模式K正常工作。顶点片段着色器可以非常灵活地实现需要的效果,但是需要编写更多的代码,并且很难与Unity的渲染管线完美集成
6、。同定功能管线着色器可以作为前两种着色器的备用选择,当硬件无法运行那些酷炫Shader的时,还可以通过固定功能管线着色器来绘制出一些基本的內容。六十八:已知strcpy函数的原型是:char*strcpy(char*strDest,constchar*strSrc);1.不调用库函数,实现strcpy函数。2.解释为什么要返回char*char*strcpy(char*strDest,constchar*strSrc)if((strDest==NULL)
7、
8、(strSrc==NULL))throw"Inv
9、alidargument(s)n;char*strDestCopy=strDest;while((*strDest++=*strSrc++)!=1 ');returnstrDestCopy;}六十九:c#中四种访问修饰符是哪些?各有什么区别?I.属性修饰符2.存収修饰符3.类修饰符4.成K修饰符。属性修饰符:Serializable:按值将对象封送到远程服务器。STATread:是单线程套间的意思,是一种线程模型。MATAThread:是多线程套间的意思,也是一种线程模型。存収修饰符:public:存収
10、不受限制。private:只有包含该成员的类可以存取。internal:只有当前工程可以存取。protected:只有包含该成员的类以及派生类可以存取。类修饰符:abstract:抽象类。指示一个类只能作为其它类的基类。sealed:密封类。指示一个类不能被继承。理所当然,密封类不能同时乂是抽象类,因为抽象总是希望被继承的。成员修饰符:abstract:指示该力*法或属性没有实现。sealed:密封77法。可以防止在派生戈巾对
此文档下载收益归作者所有