在网上找了些面试题,做做嘿嘿。
1.请描述游戏动画有哪几种,以及其原理。
2.alpha blend 工作原理
3.写光照计算中的diffuse的计算公式
4.lod是什么,优缺点是什么
5.两种阴影判断的方法工作原理
6.MipMap是什么?作用?
7.用u3d实现2d游戏,有几种方式?
答:一种用UI实现(GUI,NGUI...),一种是采用3d实体对象(plane),绘制在3d对象上,调节摄像机,采用平行投影模式或则固定视角。
8.u3d中碰撞器和触发器的区别?
答:触发器只是碰撞器身上的一个属性,碰撞器是触发器的载体。
9.物体发生碰撞的必要条件
答:需要检测碰撞的物体身上存在刚体组件(或被检测物体),也要碰撞器collider
10.CharacterController和Rigidbody的区别
11.物体发生碰撞时,有几个阶段,分别对应的函数
答:排除触发,有3种,OnCollisionEnter(),OnCollisionStay(); OnCollisionExit()
12.u3d中,几种施加力的方式,描述出来。
答:
a)爆炸力(AddExplosionForce(force : float, forcePos : Vector3,radius : float, upwards : float, mode : ForceMode)),应用一个力到刚体来模拟爆炸效果,就是在爆炸力中心坐标position,搜索在radius范围内的刚体,对其释放力作用,超出radius范围的刚体不受力作用,爆炸力将随着刚体的距离线性减弱。
b)力AddForce(force : Vector3, mode : ForceMode),主要施力给一个刚,使其移动。
c)位置力AddForceAtPosition(force : Vector3, position : Vector3, mode : ForceMode), 在position施加一个力,施力的主体将会受到一个力和力矩。
d)相对力AddRelativeForce(force : Vector3, mode : ForceMode),类似于AddForce;
13.什么叫做链条关节
14.物体自旋转使用的函数叫什么
答:transform.Rotate(eulerAngles : Vector3, relativeTo : Space = Space.self);
15.物体绕某点旋转使用函数叫什么
答:transform.RotateAround(point : Vector3, axis : Vector3, angles : float)
16.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数
答:PlayerPrefs.GetInt(key : string, defaultValue : int = 0);
17.unity3d提供了几种光源,分别是什么
答:平行光,点光源,聚光灯,环境光
18.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法。
答:void Awake(),void Start(), void Update(), void FixedUpdate(),void LateUpdate(), void OnGUI() ,void Reset(), OnDisable(), void OnDestroy()
19.物理更新一般在哪个系统函数里?
答:void FixedUpdate()
20.移动相机动作在哪个函数里,为什么在这个函数里。
答:void LateUpdate(),因为这个函数是在Update执行完毕才执行的,不然的话就有可能出现摄像机里面什么都看到的情况。
21.当游戏中需要频繁创建一个物体对象时,我们需要怎么做来节省内存。
22.一个场景放置多个camera并同时处于活动状态,会发生什么
23.简述prefab的用处和环境
24.如何销毁一个UnityEngine.Object以及其子类
25.为什么u3d会出现组件上数据丢失的情况
26.u3d下如何安全的在不同工程迁移asset数据