unity 面试问答
HawkJony
擅长:连续普通拳
展开
-
Unity如何实现磁铁效果?(比如跑酷游戏中,获得磁铁道具后,自动吸附附近金币的效果。)
获得磁铁效果后,主要流程可以分为3步:首先判断金币是否进入磁铁有效范围(圆半径,距离,矩形,collider 触发器等方式都可以)接着可以使用差值运算方法,Lerp方法或ITween等插件或者类似方法对金币做一个缓动效果吸附的动画,最后判断动画到达目标点后(碰撞器,触发器,计时等)进行销毁加分等处理即可。下面以使用触发器为例:使用OnTriggerEnter 为角色P原创 2016-05-07 15:38:26 · 9841 阅读 · 0 评论 -
Unity中游戏暂停和开始怎么实现?
(1)Time.timeScale = 0可以暂停游戏,Time.timeScale = 1恢复正常,但这是作用于整个游戏的设置,不单单是当前场景,记得在需要的时候重置回Time.timeScale = 1。当然也可以使用Time.timeScale来做游戏的1倍、2倍整体加速。(2)timeScale影响的因素:设置Time.timeScale = 0 将会暂停所有和帧率无关的事原创 2016-05-07 18:09:31 · 70533 阅读 · 0 评论 -
Unity两个物体发生碰撞的条件
网上好多资料显示发生碰撞条件如下:两个对象都有Collider组件且至少一个有Rigidbody组件其中至少一个物体(必须运动的)必须带有碰撞器(collider)+刚体(Rigidbody),另一个物体(可以静止也可以运动)也必须至少带有collider也有说一方有CharacterController,另一方有Collider,于是对 CharacterController做点补充原创 2016-05-07 18:37:46 · 44636 阅读 · 1 评论 -
如何在Unity中播放视频?
提要:在Unity 中 视频支持.mov、.mpg、.mpeg、.mp4、.avi和.asf。而Unity对于视频都是以MovieTexture来使用的。如果视频中有声音那么在视频文件下面会相应生成audio文件。所以一个完整的视频播放是应该画面和音频的同步播放。 方法一:基于GameObject上,这种方式可以让影片以任何方式播放,比如你要实现一个教室,教室讲台上有个投影幕,原创 2016-05-08 17:52:31 · 19146 阅读 · 1 评论 -
Unity跑酷游戏的无尽关卡是如何生成的?
其实跑酷游戏的场景都是由一段一段不同的路径连接而成。为了保证地图的多样性,游戏每段路径都保证了不同,但是保证多个地路段模型的两端都是能够两两连接。这样的话,其实整个游戏实时存在的只有三个路段:1.Player正在运动的路段、2.Player运动的上一个路段、3.Player下一个即将进入的路段。之所以要保证多个路段是因为保证在跑酷中Cmaera在合理的角度可能会有前一段或者后一段路径的视野,我们要原创 2016-05-08 18:15:52 · 10805 阅读 · 0 评论 -
Unity问答系列1
1,让一个物体围绕某一点旋转,有几种方法?分别是什么?答:见 http://blog.csdn.net/qiaoquan3/article/details/513065142,Mesh,Sphere,Box,Capsule,四种碰撞器。请按照性能开销由小到大进行排序。答:collider的性能和效率大概的顺序是:Sphere Collider > Capsule Collider> B原创 2016-05-05 09:45:42 · 2207 阅读 · 1 评论 -
向量的点乘和叉乘在游戏中的应用
点乘的应用:(1) 点乘可以用来判断两个向量是否垂直,返回值为0,则垂直。(公式:abcosθ,向量夹角θ为90度,则垂直)(2)本质上其实是判断两个向量相似的程度(2个向量夹角越小,越相似)。(3)计算敌人在你的正方向上行走的距离,利用的是计算一个向量在另一个向量上的投影分量大小(根据点乘几何意义)(4)得到2个向量的夹角:范围[0, 180] ,可以做游戏怪物的视角是原创 2017-04-16 12:26:45 · 8165 阅读 · 1 评论