TDTK

TDTK
TDTK

DTK(TowerDefenceToolKIt)是一个很棒的unity插件,它可以集成你的资源,让你做出独一无二的塔防游戏。

TDTK集成了常见的塔防游戏框架,可以让你的开发变得非常快捷。

接下来,我们就来介绍一下TDTK的使用。

①:首先当然是导入插件资源啦~,找到你TDTK的存放位置,然后导入。

②:好了,可以看到工具栏中出现了“TDTK”(它还附带了NGUI的免费版),接下来我们简要的介绍一下TDTK的整个框架。

主要是新建场景的选择,炮塔、敌人、资源、伤害、特殊技能的设置,资源的设置和伤害区别对待大小编辑(比如设置炮弹对重甲兵伤害较小,对弓箭手伤害较大)

首先是场景的选择,这里有两种选择,一是Linear Path,另外一个是Mazing。Linear Path 表示敌人走的是点之间的连线,Mazing表示敌人走的是点和面的连线,新建一个LinearPath 你可以看到Path1中的waypoint1和waypoint2,而新建一个Mazing可以看到Path下有waypoint1、BuildPlatform和waypoint2,表示敌人从点waypoint1走到BuildPlatform 再到waypoint2。如下右图所示,我们新添加一个waypoint3,再调整各个point的位置,则敌人前进路线就是Scene中的蓝色线条,所以在Path中你可以自定义敌人前进路线及前进方向。

新建完之后可以在Hierarchy目录下找到TDTK中的BuildManager,查看其属性,可以看到TDTK中已经为我们默认添加了几种炮塔,你可以选择“disable”不使用这些炮塔,当你为自己添加炮塔时候,该show tower list面板会出现你自定义的炮塔。

同样的找到BuildfPlatform,炮塔在它上面建造,你可以选择建立多个Buildplatform,在你的场景中定义可以造塔的地方。

接下来是GameControl,可以设置游戏逻辑,比如游戏初始金钱,玩家生命值。

现在你运行游戏项目,并不能出现什么,为此,你需要一个界面,TDTK有两种界面选择,Unity原生的UI和免费版本的NGUI,画面有所不同,大家可以自己试试,体验一下效果。现在我们选择创建UI,UI下属性众多,有想深入了解的同学可以查看用户手册。创建UI 之后,记得将BuildManager下的show tower list面板中的炮塔选上,否则待会就不能建炮塔啦。

现在运行-》点击界面中的任一方格-》炮塔种类选择-》建造。

炮塔好了,现在缺的当然就是敌人了,如下图所示,将TDTK中自带的敌人资源拖动到SpawnManager的Wave下。

现在运行你的项目,点击运行界面右上角的“Spawn”产生敌人,可以看到刚才拖动的敌人资源出来啦。接着你可以建造炮塔攻击敌人!

下一篇文章介绍更详细的炮塔、敌人和更多的设置,让你的塔防游戏做出自己的风格。

上一篇文章我们简单的走了一下TDTK的使用,接下来我们就来逐步的来深入了解TDTK。

学习TDTK就要很重要的是要会用它的Editor和Manager,这两个包含了其大部分的游戏配置属性。

首先是Editor:

在我介绍的这个版本里面(2.2.2)共有6个Editor,分别是CreepEditor、TowerEditor、SpawnEditor、AbilityEditor、PerkEditor、ResourceEditor

①CreepEditor

顾名思义,CreepEditor就是敌人编辑器,在第一栏中选中敌人角色,则在下面的面板中出现一些可编辑的属性,比如移动速度、血量、护甲、杀死它得到的资源、移动动画、死亡动画等等一大堆,都可以在这边进行编辑。

②TowerEditor

炮塔编辑器,同样的在第一栏可以选择你需要进行编辑的炮塔。重点讲一下炮塔的种类:总共有7种,TurretTower:是一种典型的炮塔类型,发射炮弹给敌人(怎么说,就像植物大战僵尸中的豌豆吧)、AOETower(听说起源于DOTA,喜欢,是指范围性攻击的炮塔,可以理解成保卫萝卜中的太阳花)DirectionalAOETower:则是介于这两者之间的(可以理解成可以喷火的炮塔,是不是有方向又有范围性伤害呢~),SupportTower(可以提高其他炮塔的攻击力或者加血的炮塔),ResourceTower(可以产生资源的炮塔~nice,有玩过war3或者星际争霸的会知道游戏会提供矿产资源让玩家开采,这个炮塔就是用来增加玩家资源的~),MIne (简单的来说,就是陷阱),Block(一堵墙吧,不让怪物从这里走过,Stop!)。看起来很不错吧,这个炮塔编辑器里面还包含了炮塔的生命值、护甲、攻击优先级、等级等属性,最兴奋的还是升级吧,升级升级再升级……它可以让你设定你一级炮塔二级炮塔三级炮塔……的攻击力、减速效果、攻击范围等,做一款好游戏,每升一级都要给玩家带来震撼~

③SpawnEditor

这是生成敌人的编辑器,其中包括生成模式(spawn mode):Continuous:每间隔一段时间产生一波怪物;WaveCleared:当怪物被消灭完产生下一波怪物;ContinuousWithSkip:跟Continuous一样,但是玩家可以手动产生下一波怪物;WaveClearedWithSkip:跟WaveCleared一样,但是玩家可以手动产生下一波怪物;RoundBased:回合制模式。(该TDTK 作者考虑的很广泛,很佩服)

④AbilityEditor

姑且把它称为技能编辑器吧,在这边可以编辑你的技能,我是这么想的,假定你的游戏中有一个英雄,然后这就是英雄的技能啦~,通过英雄的升级可以解锁新的技能和提高技能的威力。

这个面板中也是有很多的属性,技能图标、技能使用最大次数、每次使用技能要花费的能量点……一大堆,大家可以先试试,好多集成化的东西,其实大家只要看得懂,就知道怎么用。

⑤PerkEditor

有点小复杂,会单独拎出来讲

⑥ResourceEditor

资源编辑器,可以添加你游戏中需要用到的货币(网游里面经常会有金钱、金条、元宝之分),塔防游戏里面也有游戏里面赚到的金钱和玩家充值的金钱之分,这时候你在设计游戏的时候就在这边多添加一个资源就好了。

接下来是Manager

这里主要有两个Manger,很简单,一个是CreepManager和TowerManager,看下图,我把它们的属性编辑面板放在一起,可以看出它们是如此的相似,这两个Manager分别是用来管理Creep和Tower的,你自定义的Creep和Tower要分别从你的资源目录下拖动到下面的Add new creep和Add new tower中,这时候会在面板中显示出你的Creep和Tower,TDTK已经为你添加了几种Creep和Tower,看到没,下面一大堆都是哦~

我们看到市场上的许多塔防游戏都有其迷人而又可爱的地方,但获得巨大成功的塔防游戏绝大部分都有非常萌的Towers和Creep,像是保卫萝卜,植物大战僵尸2里面赋予towers和Creep迷死人不偿命的人物动作表情,所以攻陷了多少少女包括少男那敏感的心房。

当然我们在这不去详细介绍这些美工该干的活,我们把做好的模型变成一个在游戏中能运作的角色。

好,首先来看看Towers的制作。

首先用unity的Cube、Sphere、Capsule等几何体来构建一个炮塔。我们就随便弄一个来测试…记得将炮塔的底部和头部区分开来,这是为了炮塔攻击时候头部能随着敌人的移动而旋转做准备,所以如下图所示,我将它分为了BaseObj和TurretObj两个部分。

为了能让你的炮塔发射炮弹,我们需要在TurretObj下新建一个空对象,我们将之命名为shootPoint(炮弹发射点),然后放好shootPoint的位置,通常是在炮口位置。(备注:你可以有多个发射点)

这样就完成了一个简单的炮塔模型如果你手头有炮塔模型的话,也将它们这样分层,接下来我们就可以往这里面添加脚本,以使我们的模型能运作起来。

①在test中添加“unitTower”脚本(总得有可以表示你这个是炮塔的,这个脚本就是你炮塔的身份证),添加方法如下图所示。

②往TurretObj中添加“TurretObj”脚本(这里说明你是可以随敌人移动而旋转的部分),添加方法如下图所示。

接下来我们把炮塔保存一下,然后添加进去towermanager,在进去towerEditor中打开我

们的炮塔,然后将BaseObj和TurretObj分别放进它底下Level1面板的BaseObj和TurretObj。(看着很复杂,其实很简单,同学们不要怕…)

注意到我们BaseObj上方的shootObj并没有添加任何东西,这是你的炮塔发出的炮弹实例,所以你可以在这边添加你想要的发射效果。

我们在TDTK目录下的Shootobjects目录下找其中一个shootobject拖进去,添加成功。(这里已经有许多作者自己写的炮弹类型)

然后在TowerEditor中编辑你炮塔的各种属性,比如建造间隔、花费金钱、攻击伤害、减速效果等等,这样就完成啦~(要把游戏的平衡性弄好,不要太难或者太简单了,否则玩家会丧失激情的)

现在我们选择TDTK自带的场景,然后运行下。

好啦~,这样在我们的项目中就可以选择建造出我们的炮塔出来了,还可以进行攻击了哦~下一篇我们将会介绍如何设置敌人~^^

当我们从美工那边拿来可爱的小怪物的时候,我们怎么样才能把他们放进我们的塔防游戏里面呢,下面我们一步一步来介绍整个过程。

首先拿到的模型应该是具有多种动画的,比如走路、死亡、攻击、被打等。拥有这些基本元素我们的小怪物才能足够生动可爱。

为了使示例更加生动,我们从蛮牛网上下载动画资源。(BITGEM - Low Poly Micro Monster Pack)

接下来,我们就选这只小狼作为我们今天的主角。哈哈,还是挺可爱的吧。

首先我们将TDTK中的Creep原型和我们的小狼原型进行比较。

可以发现Creep原型中只添加了一个“UnitCreep”脚本和多了个血条,所以看过上一篇的同学知道接下来就是在其模型上添加这个“UnitCreep”脚本了,因为小狼没有血条显示,所以我们从Creep原型拷贝它的血条到我们小狼下,然后在调整好血条在小狼的头顶上方。在UnitCreep->HPAttribute下将两个血条分别放进OverlayHp、OverlayBase,这样子在我们的小狼被攻击的时候它才会产生掉血效果。

现在就完成了一个敌人设置的基本要素,接下来我们就来为小狼设置动画。

这里我们就主要添加了走路、死亡和挨打的动画,记得在设置动画的时候要设置动画主题哦,即将我们的小狼拖进Animation Body。

这样就完整啦~

后面就跟设置Tower一样了,打开CreepManager,将我们的小狼拖进去…然后在打开CreepEditor,设置这只小狼的生命值,护甲等。

然后我们在TDTK下的spawnManager中去设置敌人产生机制,这边主要有WAVE(波数),我们在第一波的Element 0下将我们的小狼放进去,你可以看到这边还有count(数量)、Interval(每只小狼产生的时间间隔)、Delay(这一波开始,产生怪物的时间延迟)。根据你游戏的要求设置好这些属性就OK了。

相关主题
相关文档
最新文档