英雄联盟这个游戏,相信很多人都玩过,有些人可能没玩过,但是一听说过了,这个游戏为什么这么火,就是因为它玩法新颖了,其实任何一款游戏都有一个新鲜期,过了这个新鲜期,就会少很多用户。LOL也一样,但是相比其他游戏的情况要稍微好点,它会持续更新,而且能跟上潮流,比如现在比较火的自走棋模式,它也是看别的游戏有做,就在自己原来的模式基础上加一个,也就是云顶之弈了。所以一个游戏想要在行业能坚挺持久生存,还是需要像LOL这样。扯远了,我之前也是非常喜欢玩LOL,利用闲暇时间我做了一个闪现效果。这个截图还真不好截,我也没弄过GIF,所以就把制作思路和代码附上了,各位自己去试试吧。
首先,我们要知道游戏里面的闪现效果是怎么样的?我们回忆一下,是不是你只要一按你绑定闪现的按键,然后你鼠标指哪,人物就会瞬间闪现到鼠标方向去,但是它的距离是有限的,并不是无线的。对吧?这就是游戏的效果体现。那么我们再uniyt里面应该用什么组件,什么逻辑来帮助我们完成像这样的效果呢?
先思考一下,很明显,闪现是人物位置的改变。在加上闪现时候的一些特殊效果。所以,我们就知道了,要改变位置,然后要产生点特效。那就需求很明了了。在unity如何改变一个物体的位置?我相信很多人都知道做法,同时可能有很多种实现。但是,我们一定要符合要求:鼠标方向,有限距离,瞬间移动。是的吧?那么鼠标方向我们可以用射线检测来得到鼠标在世界空间的坐标,有限距离就更简单了,直接指定一个变量为闪现的距离,瞬间移动,这个怎么做呢?很多同学可能就蒙了,其实不要想的那么复杂,瞬间的话,就是和时间是没关系的,然后又是改变位置,那么我们不要忘记了最基本的一个点,就是给一个物体一个位置。最简单的莫过于直接赋值了:transform.position = new vector3(x,y,z);是不是?大道至简,有没有。OK了,所有的难点都搞定了,效果也就能实现了,是吧。很简单。这里直接给出代码截图:
我也创了个交流群 点击下面链接即可加入
做的比较简陋,而且他这个比较简单。代码都在上面了,注释也有。不喜勿喷哦!
网友评论