找回密码
 点一下
查看: 7339|回复: 25

【数据教程】 **简单技能制作** By.寒心

[复制链接]
发表于 2010-5-29 11:27:03 | 显示全部楼层 |阅读模式
最近学习编译器的朋友逐渐多了起来了,因此做一个和技能相关的简单教程,把技能系统整体做一下讲解、理一下思路。
相信这样做大家更容易找出适于自身的技能制作流程。



【技能制作概要】
首先,对于任何一个技能,它最基础会关联以下3个类(中文版的用户,请点ctrl+d以方便对应文中的模板名、属性名等)。
技能Abil、行为Behavior、效果Effect <其中相关的概要解析相关的知识点大家可以参照:http://www.sc2mod.net/thread.php?fid-10.html>
**此后的教程文章中我们把技能Abil、行为Behavior、效果Effect简称为A-B-E体系**

其次,为技能追加影音效果,这需要在以下3个类中追加相关的定义。
模型Model、模型控制器Actor、声效Sound
**本帖暂且只介绍技能的基本设定流程。此后抽空为大家详解为技能追加影音效果的过程与技巧**

最后,把定义好的技能/行为,添加到单位身上。这个需要在单位Unit的类中定义。



【技能设计基础流程】
技能的设定基础流程如下:(以下的顺序可变,找到所需技能的适合方法即可)
1)在Behavior类中,定义技能所产生的行为(Debuff、Buff之类)。
2)在Abil类中,定义技能最基础的属性(CD时间,能量消耗,施放范围,技能类型等)。
3)在Effect类中,定义技能的作用效果(基础伤害值,周期效果,范围效果等)。

补充说明:(请大家很好的理解一下以下的内容~)
A-B-E体系每个类之间都是可以被互相调用的,A可以直接到E,B;同样E也可以直接到A,B;B可以直接到E,再间接的关联A。因此,设计技能时这3个类都是切入口,并没有主次顺序。
大家可能会有一种固定的思维模式,定义一个技能需要先定义Abil,然后才是Behavior和Effect等;或者说对于技能必须有Abil作为才技能的入口才可以,但实际并非如此。此后过程我会慢慢说明。
另外,A-B-E体系中只有A、B是直接关联单位Unit的,而Effect并不能在数据定义部分直接和单位Unit关联,但可以通过脚本做关联的。



【教程例说】
这里用我们演示地图中的一个技能作为例子为大家讲解最基础的技能设计流程。
<我们的地图下载:http://www.sc2mod.net/read.php?tid-101.html>

此技能名为出血,技能的效果为:在一定时间内,使目标单位受到的伤害提高。
这个技能的核心就是为目标单位追加一个行为,此行为的内容为:改变单位所受伤害的大小。

因此我们制作这个技能的流程第一步则是先定义出一个使单位受到的伤害提高的行为。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^第一步:定义行为 名称(ID):H_Bleeding_Debuff^^^^^^^^^^^^^^^^^^^^^^^^
出血技能相对应行为大家应该很容易理解它是一个可持续的Debuff,因此我们使用行为模板中的CBehaviorBuff模板。
然后,我们在此模板中填入相对应的一些属性。
行为-1.jpg

A.定义BehaviorBuff的极性(Alignment):Negative,因为很明显这个行为是一个Debuff。如果它是Buff则Positive了。
  在游戏中显示的效果为:Negative为红色的icon,意为负面效果;Positive为绿色的icon,意为增益效果;Neutral为白色的icon,意为中性效果。
行为-2.jpg
B.为行为定义持续的时间(Duration):10。游戏时间10秒。
行为-3.jpg
C.为行为设定改变单位所受伤害的大小的属性。它是通过模板中的DamageResponse结构体来定义的。
  <相关DamageResponse的知识参照:http://www.sc2mod.net/read.php?tid-29.html>
  具体定义的内容如下;
      a.伤害修正的几率(Chance):1。1则是以为着几率为100%。
行为-4.jpg
   b.伤害修正的百分比(ModifyFraction):1.35。1.35则是135%。如果修改成0,则效果类似于无敌。
行为-5.jpg

行为定义好之后,我们进入第二部,在Abil类中定义技能的基本属性。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^第二步:定义技能的基本属性 名称(ID):H_Bleeding^^^^^^^^^^^^^^^^^^^^^^^^
出血技能是对目标释放的因此它使用的技能模板为:CAbilEffectTarget。然后,我们在此模板中填入相对应的一些属性。
A.释放范围(Range):1。这个技能为近战技能,因此释放距离可以设定的小一些。
技能-1.jpg
B.释放角度(Arc):30。也就是目标必须在面向的角度30度之类的地方才可以释放,如果不在则需要转身面对后才可以释放。
技能-2.jpg
C.技能的消耗(Cost):
        a.基础属性消耗(Vital) 消耗能量(Energy):10。
        b.冷却时间(Cooldown) 能确时间(TimeUse):3。
技能-3.jpg
D.仅能的目标过滤器(TargetFilters):
        a.有效目标:Ground,Visible。地面部队,可见的。
        b.无效目标:Self,Player,Ally,Missile,Stasis,Dead,Hidden,Invulnerable。排除自身、玩家单位、盟友,子弹....

E.技能产生的效果链接(Effect):H_Bleeding_Effect。Effect的名称(ID)。需要做完第三步,再回来追加这个效果链接。
技能-4.jpg
以上,技能的基本属性定义好了,之后我们通过在Effect类中定义i的作用效果,把Abil与Behavior链接起来。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^第三步:定义技能的作用效果 名称(ID):H_Bleeding_Effect^^^^^^^^^^^^^^^^^^^^^^^^
这里我们对于出血技能的定义效果只有一个需求,就是把出血的Abil与Behavior链接起来。因此我们直接使用CEffectApplyBehavior模板。它的作用是为单位挂起一个行为。我们在此模板中填入相对应的一些属性。
A.行为的链接(Behavior):H_Bleeding_Debuff。Behavior的名称(ID)。
B.作用单位的种类(WhichUnit):Target。此处可以不一定,默认即是目标单位。
效果-1.jpg

通过1、2、3步出血技能已经定义完成了,下面我们把技能关联到单位上。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^第四步:为单位关联技能^^^^^^^^^^^^^^^^^^^^^^^^
在此,大家可以随便选定一个单位(需要有能量的单位哦),把这个技能追加上即可。步骤如下:
A.在技能链接列表(AbilArray)中追加对应的技能:H_Bleeding。Abil的名称(ID)。
B.在按钮面板中追加技能的对应按钮。



到此技能的制作就完成了,之后还需要在Actor,Model,Sound中定义一些列属性,才能给这个技能追加上打击时候的影音效果。
之后再为大家介绍,敬请期待。

评分

参与人数 1威望 +3 收起 理由
Renee + 3 如沙发所言

查看全部评分

发表于 2010-5-29 11:33:35 | 显示全部楼层
楼主是个好老师~
回复

使用道具 举报

发表于 2010-5-29 11:35:35 | 显示全部楼层
前人栽树,后人乘凉,感谢感谢。

----------- 帖子于 11:34 更新 --------- 之前内容发布于 11:34 ------------

我不应该思考回复的,沙发呀。

----------- 帖子于 11:35 更新 --------- 之前内容发布于 11:34 ------------

话说我刚学模型的时候看的教程是3-4年前的……
流芳百世了都……

----------- 帖子于 11:35 更新 --------- 之前内容发布于 11:35 ------------

多连回收真好用。
回复

使用道具 举报

 楼主| 发表于 2010-5-29 11:39:28 | 显示全部楼层
^-^ 啦啦啦
回复

使用道具 举报

发表于 2010-5-29 11:41:03 | 显示全部楼层
引用第2楼『四褲全輸』于2010-05-29 11:35发表的  :
前人栽树,后人乘凉,感谢感谢。

----------- 帖子于 11:34 更新 --------- 之前内容发布于 11:34 ------------

我不应该思考回复的,沙发呀。
.......
我有思考的!裤子!
回复

使用道具 举报

 楼主| 发表于 2010-5-29 11:52:02 | 显示全部楼层
大家有什么具体的,基础的技能需求可以写一下,我从中挑几个做成教程给大家看,如何呢?
回复

使用道具 举报

发表于 2010-5-29 12:28:46 | 显示全部楼层
“Positive为红色的icon,意为增益效果”?
回复

使用道具 举报

 楼主| 发表于 2010-5-29 12:30:01 | 显示全部楼层
引用第6楼血戮魔动冰于2010-05-29 12:28发表的  :
“Positive为红色的icon,意为增益效果”?
已修正,谢谢~
回复

使用道具 举报

发表于 2010-5-29 12:47:00 | 显示全部楼层
等小A搬主页。
回复

使用道具 举报

发表于 2010-5-29 13:09:08 | 显示全部楼层
搬運\整理中
回复

使用道具 举报

发表于 2010-5-29 13:22:41 | 显示全部楼层
其实我刚看这帖的时候也打算回“楼主是个好人”之类是,第一想法,然后考虑考虑感觉好像发卡,于是想了段前人栽树,结果沙发送人啦。

不过楼主真的是好人,这种教程在初期是非常珍贵的东西,可以让无数人少走不少弯路,省下不少时间。
回复

使用道具 举报

发表于 2010-5-29 13:39:37 | 显示全部楼层
其次,为技能追加影音效果,这需要在以下3个类中追加相关的定义。
模型Model、模型控制器Actor、声效Sound


模型控制器Actor
这个翻译是目前见过最直观的...
回复

使用道具 举报

发表于 2010-5-29 13:46:25 | 显示全部楼层
只不過你一開始沒有理解動作是什麽而已。
回复

使用道具 举报

 楼主| 发表于 2010-5-29 16:38:36 | 显示全部楼层

回 10楼(『四裤全输』) 的帖子

尽量会多做点儿...不定期更新~
大家有什么觉得要试做的(关于数据部分)尽量提出来,我还筛选后把一些做成教程。
担心我自己想到的一些例子会不太适合。
回复

使用道具 举报

发表于 2010-5-30 00:34:40 | 显示全部楼层
不适合总比没有好。
当资源极度匮乏的时候,哪怕是错误的教程都可以作为实验吸取经验。
回复

使用道具 举报

 楼主| 发表于 2010-5-30 02:04:40 | 显示全部楼层
一点点来~困了,睡觉~明天见
回复

使用道具 举报

发表于 2010-5-30 08:25:13 | 显示全部楼层
好吧,头已经成功被搞大。

不过很感谢。
回复

使用道具 举报

发表于 2010-5-30 08:28:51 | 显示全部楼层
引用第16楼龙龙九于2010-05-30 08:25发表的  :
好吧,头已经成功被搞大。

我承認我糟糕了
回复

使用道具 举报

 楼主| 发表于 2010-5-30 08:37:39 | 显示全部楼层

回 16楼(龙龙九) 的帖子

...迷糊中的第一眼就看到“搞大”二字...~好吧,现在清醒点儿了
回复

使用道具 举报

发表于 2010-5-30 09:18:51 | 显示全部楼层
看来你们都很迷糊啊!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-28 19:09 , Processed in 0.112706 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表