Unity面试题

1.UGUI注意事项
1.GameObject.SetActive 尽量少使用。因为在OnEnable 和OnDisenable 都会重新设置一遍所有的脏标志
2.平铺类型的操作不要用Image 要用Rawimage
3. Raycast 不用就关掉,Unity 默认是开启的,但是有很多UI不需要接收点击事件
4. UI合批需要注意材质是否一样,图片ID是否一样
5. UI 上的的Color属性 不建议直接修改,修改会导致重绘mesh,建议修改材质球颜色不会出现这个问题
2.结构体和类区别
1.类是引用类型,结构体是值类型。
2.结构体可以不用new创建实例对象,类必须用new来创建实例对象。
3.结构体不能继承类或结构体,可以实现接口;类可以继承类,不能继承结构体,可以实现接口。
4.结构不能声明默认的构造函数,结构体的构造函数必须对所有字段进行赋值。
3.C#的Dictionary
1.Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
2. 键必须是唯一的,而值不需要唯一的
3. 键和值都可以是任何类型(比如:string, int, 自定义类型,等等)
4.通过一个键读取一个值的时间是接近O(1)
4.栈和堆的区别
1.栈由系统自动分配,而堆是认为开辟的
2.栈获得的空间比较小,而堆获得的空间比较大
3.栈由系统分配,速度比较快,而堆一般速度比较慢
4.栈是连续的空间,而堆是不连续的空间
5.Navigation
创建NavMesh导航网格:在创建了所有的组件之后烘焙出运行时导航系统需要的数据,选中需要导航的网格,在static中勾选Navigation,设置属性,Bake。
6.红黑树
二叉查找树(BST)具备什么特性呢?
1.左子树上所有结点的值均小于或等于它的根结点的值。
2.右子树上所有结点的值均大于或等于它的根结点的值。
3.左、右子树也分别为二叉排序树。
为了解决二叉查找树多次插入新结点导致的不平衡,红黑树应运而生。
红黑树除了二叉查找树的特性外,还附加了:
1.结点是红色或黑色。
2.根结点是黑色。
3.每个叶子结点都是黑色的空结点(NIL结点)。
4 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点)
5.从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。
从跟到叶子的最长路径不会超过最短路径的2倍。
再插入时候,为了保持红黑树始终是红黑树,有变色、左旋、右旋三种调整方法。
7.Unity生命周期
(1) Reset() 组件重设为默认值时(只用于编辑状态)
(2)Awake() 脚本组件载入时 (调用一次)
(3)OnEnable() 是在游戏对象可以调用时调用
(4) Start()第一个Update发生之前 (调用一次)
(5)FixedUpdate() 固定时间调用,常用于物理相关的计算,比如对Rigidbody的操作
(6)Update()大部分游戏行为代码被执行的地方,除了物理代码
(7)LateUpdate() 每帧Update调用之后
(8)OnGUI() 绘制GUI时调用
(9)OnDisable() 当对象设置为不可用时
(10)OnDestroy()组件销毁时调用

你可能感兴趣的:(unity,游戏引擎)