这个职位是海康威视研究院的,属于启明星(提前批)。先有一个电话面试,围绕项目问了很多,主要是确认你是否真的有使用unity3D进行AR开发的经验。然后问了一些我论文上的问题,最后补充了两个AR方面的问题加反问结束。电话面试通过之后是视频面试,感觉他们招的人不多,进面试的也就二十多个。面试流程先自我介绍,然后问项目,让展示了一下项目。最后问了个算法题,这个算法题真是我面试笔试这么多家最简单的,就是升序排序就完了。我那个项目只是个毕业设计,感觉面试官看不上,估计凉了。
面试官问的面试题: 1.描述你做这个AR项目的背景、过程以及结果?
2.过程中记忆最深刻的问题?
3.unity3D中碰撞是如何实现的?
4.摄像头与软件的数据交互是怎么实现的?
5.升序排序算法题
实习岗位
面试官很亲和
- 碰撞框是怎么判断相交的?
- 玩家怎么进行跳跃?
- 高速穿透怎么判断?
- 道具那些是怎么存储的?
- 你学过OpenGL,怎么进行渲染的呢?
- 坐标系变换具体是怎样的?
碰撞检测的方法
用Qrect的intersects方法判断两个矩形框是否相交。角色与障碍物的碰撞就是用这个方法
1.包围体
2.四叉树(2D)、八叉树(3D)
包围体:
1.AABB包围体与AABB包围体,轴平行,故将中心点连线投影到轴上,判断中心点连线的投影距离与边长和一半的关系。
2.Sphere包围体与Sphere包围体,判断中心点连线距离与半径和的关系。
3.AABB包围体和Sphere包围体,也可以像AABB与AABB那样,将中心点连线投影到轴上,判断中心点连线的投影距离与边长的一半+半径的关系。
4.如果有OBB包围体,则在每个多边形的每个边做投影,如果在所有轴上的投影都发生重叠,则判定为碰撞。对于两个矩形的检测最多需要进行四次投影即可。
前三种方法:
二维碰撞检测:投影到x\y两个坐标轴判断相交关系,只有两个轴都相交了才算相交
三维碰撞检测:投影到x\y\z三个坐标轴判断相交关系,只有三个轴都相交了才算相交
四叉树、八叉树:
划分后在不同节点的两物体,是在不同空间内的,故不会碰撞,即可以分离进行场景管理。