18.Unity中用过哪些插件?具体功能
FXMaker,制作粒子特效;NGUI,制作2D界面;EasyTouch,摇杆;shaderForge,制作shader;Itween,制作动画;
19.当删除Unity工程Assets目录下地meta文件时会导致什么?为什么?
会导致在场景中游戏对象看不到,或者报错,材质找不到资源。多人协作的时候会导致资源的重复产生。因为每个资源文件都对应一个.meta文件,这个.meta文件中的guid就是唯一标识这个资源的。材质就是通过这个guid来记录自己使用了那些资源,而且同一个资源的guid会因为不同的电脑而不同,所以当你上传了丢失了.meta文件的资源的时候,到了别人的机器上就会重新产生guid,那个这个资源就相当于垃圾了。
20.频繁创建GameObject会降低程序性能为什么?怎么解决?
频繁创建游戏对象,会增加游戏的Drawcall数,降低帧率,GPU会一直在渲染绘制。可以通过对象池来管理对象:当需要创建一个游戏对象时,先去对象池中查找一下对象池中是否存在没有被正在使用的对象,如果有的话直接使用这个对象,并把它标记为正在使用,没有话就创建一个,并把它添加到池中,然后标记为使用中。一个游戏对象使用完毕的时候,不要销毁掉,把它放在池中,标记为未使用。
——————————-
21.关于Vector3 的API,以下说法正确的是(BC)
A.Vector3.normalize 可以获取一个三维向量的法线向量 B.Vector3.magnitude 可以获取一个三维向量的长度 C.Vector3.forward 与 Vector3(0,0,1)是一样的意思
D.Vector3.Dot(向量A,向量B)是用来计算向量A与向量B的叉乘
22.以下哪个函数在游戏进入新场景后会被马上调用(B)
A.MonoBehaviour.OnSceneWastLoaded()
B.MonoBehaviour.OnSceneEnter() C.MonoBehaviour.OnLevelEnter() D.MonoBehaviour.OnLevelWastLoaded()
23.采用Input.mousePosition 来获取鼠标在屏幕上的位置,以下表达正确的是(C)
A.左上角为原点(0,0),右下角为(Screen.Width, Screen.Height) B.左下角为原点(0,0),右下角为(Screen.Height, Screen.Width) C.左下角为原点(0,0),右上角为(Screen.Width, Screen.Height) D.左上角为原点(0,0),右下角为(Screen.Height, Screen.Width)
24.如何通过脚本来删除其自身对应的Gameobject(A)
A.Destroy(gameObject) B.this.Destroy() C.Destroy(this) D.其他三项都可以
25.某个GameObject有一个名为MyScript的脚本,该脚本中有一个名为DoSomething 的函数,则如何在该Gameobject的另外一个脚本中调用该函数?(A)
A.GetComponent().DoSomething() B.GetComponent
C.GetComponent().Call(―DoSomething‖) D.GetComponent
26.Animator.CrossFade 命令作用是:(B)
A.动画放大 B.动画转换 C.Update() D.OnMouseButton()
27.OnEnable,Awake,Start 运行时的发生顺序?(A)
A.Awake->OnEnable->Start B.Awake->Start->OnEable C.OnEnable-Awake->Start D.Start->OnEnable->Awake
28.以下选项中,正确的是(D)
A.Mathf.Round方法作用是限制 B.Mathf.Clamp方法作用是插值 C.Mathf.Lerp方法作用是四舍五入 D.Mathf.Abs方法作用是取得绝对值
29.以下选项中,将游戏对象绕Z轴逆时针旋转90度(C)
A.transform.rotation = Quaternion.Euler(0,0,90) B.transform.rotation = Quaternion.Angle(0,0,90) C.transform.Rotate(new Vector3(0,0,90)) D.transform.Rotate(new Vector3(90,0,0))
30.public static function
InitializeServer(connections:int,listenPort:int,useNat:bool):NetworkConnectionError;解释一下函数,参数以及返回值的意思。
初始化服务器。connections是允许的入站连接或玩家的数量,listenPort是要监听的端口,useNat设置NAT穿透功能。如果你想要这个服务器能够接受连接使用NAT穿透,使用facilitator,设置这个为true。如果有错误会有返回错误。
31.请写出以下函数的含义和运算结果
delegate b Func(a a1); static void Main(string[] args) {
Func
false,就是定义一个delegate,返回值类型为 b,有一个参数,类型为a。
32.编写一个函数,输入一个32位整数,计算这个整数有多少个bit为1.
uint BitCount (uint n) {
uint c = 0; // 计数器 while (n > 0) {
if ((n & 1) == 1) // 当前位是1 ++c; // 计数器加1 n >>= 1; // 移位 }
return c; }
33.某游戏中的装备系统有16种附加属性,每种附加属性使用一个32位的ID表示(比如10001表示加人物hp的附加属性,10002表示加人物mp的附加属性),一件装备做多有4个附加属性,请写一个程序输出所有附加属性的组合。 #
34.请实现如下函数,在Unity中有一副骨骼树,请使用递归方式与非递归方式实现先序遍历,在Unity的Console输出所有骨骼名。 可能用到的函数
public Transform GetChild(int index); public int Transform.childCount
public void OutputTree(Transform root) { }
#
35.简要解释下数据库中ACID的含义。
ACID是指在可靠数据库管理系统(DBMS)中,事务所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如:对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中aaa和bbb的存款总额为2000元。 隔离性多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。这指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。
持久性,意味着在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。即使出现了任何事故比如断电等,事务一旦提交,则持久化保存在数据库中。
36.32位整数256和255按位异或后的结果是(511) 37.unix/linux 系统将所有的I/O设备模型化为文件,c语言中的(stdin),(stdout)和(stderr)分别表示标准输入,标准输出,标准错误。 38.k层二叉树最多有 2^k - 1 个结点。 39.中缀算式(8 + x*y)-2x/3的后缀算式是_。
40.对以下二叉树进行前序遍历的结果是(ABDGCEHF)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库unity面试题(7)在线全文阅读。
相关推荐: