Unity3d面试题

来源:互联网 发布:网络运营商排行榜 编辑:程序博客网 时间:2024/06/06 19:57

1 简述delegate和event关键字
2 某工具类函数如下:

Util.InvokeDilay(uint pTime,Action<GameObject> pPlayAction);

有十个特效预制体,从Effect1-Effect10的Resources目录下,现在需要2秒,分10次加载,2秒后分别销毁这些特效,写出实现代码。
3 写一个可以对所有可比较类排序的函数
4 Unity3d脚本的生命周期的重要脚本
5 策划文档给出一个需求:从0到100,每一帧顺序取出一个数字,判断此数字是否是质数
6 什么是Draw Call ,有什么方法可以减少DrawCall
7 谈谈你对U3D渲染管线的理解
8 什么是AssetBundle? 谈谈你对AssetBundle内存分配情况的理解
9 某批次产品

class SerilizedProduct{//产品唯一标识public int Key{get,set;}//产品名称public string Name{getset;}// 产品类型public int Type{get;set;}//生产进度public int Progress{getset;}//生产机器号public int Machine {get; set}}

如果生产进度1-4之间为未完成产品。生产进度在4-7之间为待完成7-10为待审核请设计数据储存结构,使得可以方便随机查看某类型未完成产品所在的机器号。(要求写出储存数据结构及初始化方法)
10 什么是material,什么是shader,二者有什么关系

答:
Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染(输出)了。

11 简述单例模式与观察者模式,并用伪代码实现其中之一

1 0
原创粉丝点击