大家对魔兽世界-冰封王座,红警之类的游戏应该是非常熟悉的吧,这就是典型的RTS游戏,什么是RTS游戏呢?就是即时策略游戏,玩家可以调兵遣将,创建建筑等。考验你的军事能力了。这类游戏的体现就是我们需要自己去思考,用什么方式,策略来赢得比赛,非常刺激。我们首先需要创建一些建筑,然后建筑可以生产军队等。我们然后带领军队去战胜其他玩家就可以了。那么你们知道游戏中的一些功能是怎么做的吗?比如建筑的创建,军队的控制等。那么我们今天就要搞定这些。
首先,我们做RTS游戏,创建建筑是非常必要的。那么这个怎么做呢?其实用射线检测就可以了,判断点击的是否是空地,如果是就可以创建了,如果不是就不能创建,同时需要作出视觉上的提示,比如显示不同的颜色。来区别可建地域及不可建地域。那么这里我是这么做的:
然后可以创建了过后,我们需要一些显示相关的操作,所有我们需要特殊的Shader来帮助我们达到这样的效果,那么怎么做呢?我这里采用的是透明度混合来做的。用颜色和主纹理的颜色来进行透明度混合,然后外部根据情况改变物体的透明度。做到选择时半透明,创建后就恢复原状的需求。然后颜色的改变也是通过外部改变Shader里面的变量。通过射线检测碰到的物体来区别不一样的颜色显示。具体代码如下:
然后可以创建了过后,我们需要一些显示相关的操作,所有我们需要特殊的Shader来帮助我们达到这样的效果,那么怎么做呢?我这里采用的是透明度混合来做的。用颜色和主纹理的颜色来进行透明度混合,然后外部根据情况改变物体的透明度。做到选择时半透明,创建后就恢复原状的需求。然后颜色的改变也是通过外部改变Shader里面的变量。通过射线检测碰到的物体来区别不一样的颜色显示。具体代码如下:
这是核心代码,其他代码无关紧要。然后我们就能够做出这样的需求了。做出后的效果就是开头图片的样子。OK,这节就到这里了,不喜勿喷哦!
我也创建了一个creator交流群 想加的话可以点击下面的链接点击链接加入群聊【cocos/unity交流群】
网友评论