找回密码
 点一下
查看: 1573|回复: 13

弱弱的问个问题~~那个~~求高人指导~~

[复制链接]
发表于 2010-10-5 16:21:39 | 显示全部楼层 |阅读模式
Unit
Ability
Behavior
Effect
Mover
Actor
Validator

我看这些东西都共同来描述一个单位~~
但是真的搞不懂每个模块究竟是用来负责啥的~~又是怎么共同工作的~~
我看他们之间很多都是互相引用的味道(可能受编辑器的误导)
并且有些内容看起来在好多模块里面都有~~

悲剧的要死~~唉唉~~
发表于 2010-10-5 16:44:24 | 显示全部楼层
Unit  单位的基本信息(不可以设置Actor)
Ability 单位的技能,在Unit设置,Ability只决定施法方法,真正的效果由Effect决定
Behavior 单位的行为,类似于被动技能,可以在Unit设置,或是其他方式添加给Unit
Effect Ability或是Behavior可以使用,实现一些效果
Mover CMover普通单位的移动方式,CMoverMissile弹药的移动方式
Actor  设置模型的发动方式以及各种状态,例如Unit诞生的时候创造这个Actor,或是开枪的时候等等
Validator  条件判断,可以在Behavior、Effect等等一些东西上作出限制,在发动Behavior或是Effect之前先进行条件判断,判断为否则不发动

加油,拯救世界的重任就交给你了!
回复

使用道具 举报

发表于 2010-10-5 16:45:47 | 显示全部楼层
請看置頂教程.

呵呵, just kidding.

依我目前的理解說一說吧 (有錯請高手指正):

Unit:   就是真正的單位, 包括了單位的生命值, 能量, 技能, 速度等的基本資料.
Ability:   就是所有單位的要玩家按下或 trigger: issue order 才會啟動的技能, 如攻擊, psi-storm, 大和炮等等. ability 一般要再呼叫其他的 effect 或 behavior 才會有實際效果.
Behavior:     行為, 即一些單位固有, 不用玩家按任何鍵已經有效的特性, 例如terran 的建築物紅血時會自動減血的特性, 也可以用來造英雄升級和屬性. 如果加個 時限, 可以用來做有時限的 buff.
Effect:  由 ability 或 behavior 等觸發, 對單位做出一些額外效果, 例如 damage. 也有些是要幾個一起用, 用來造出複雜的技能, 例如 set, search, create persistent, 等.
Mover:   就是用來控制單位 / 子彈之類的移動方法.
Actor:    用來控制單位的模型和音效.
Validator:     其他的模組可以用 validator 來判斷一些條件, 以決定是否執行一些動作.
回复

使用道具 举报

发表于 2010-10-5 16:55:42 | 显示全部楼层
略略地說…unit就是一個單位的基礎數據,actor用來控制視覺效果到音效…假如女妖轟炸機的飛彈,和聲音都是通過actor控制(actor又分很多種…各自都有不同的用處)…ability…顧名思義…做技能用…effect通常是用來弄技能/武器的效果,例如marine的機槍…視覺和音樂效果用的actor控制,然後通過effect來控制他的傷害和攻擊位置之類,behavior多數都是用來做些buff啊…能力值啊…等級什麼的…,mover就是…某些特殊技能的移動軌跡…(假如死神的跳上跳落),validator如其名,用來判斷一個條件是否正確,如果是正確就會執行特效,或的話不會有任何的效果(通常用於behavior和ability)。

舉個很簡單的例子…marine

一開始weapon tab裡有一個東西是marine的武器,那個武器是掛勾到對應的傷害effect,你可以通過修改該effect令marine的傷害相對應提高。 然後切換去actor tab裡面有各種和marine有關的東西,其中應該有一個是marine的attack,大概就是在marine攻擊的effect啟動時,就會執行該actor,然後就會出現火光在marine的槍口前. 同時又有一個actor 叫marine 用來操控marine的模組,例如死的時候就會把該actor摧毀.至於unit tab 可以控制marine的血量,能量和護盾值基礎數值等等。
一個正在學習的菜鳥路過
回复

使用道具 举报

发表于 2010-10-5 18:36:13 | 显示全部楼层
根据个人使用sc2 editor的心得,参考SC2 editer里的资料时,不明白了,右键——“解释连结”,然后,它们是怎么套用的就一目了然了……有一点是必然的,在SC2 Editer里,如果物件不被套用,那它就没有存在的意义了……
回复

使用道具 举报

 楼主| 发表于 2010-10-5 19:09:54 | 显示全部楼层
其实我要的不是名词解释~~
我希望有一个教程来解释这整构架的运作机理~~

不过还是很感谢大家~~哈哈~~
回复

使用道具 举报

发表于 2010-10-5 19:36:23 | 显示全部楼层
只有unit是用来定义单位数据的。另外actor里的actor unit是用来绘制单位的模型、UI和声音的。其他的并没有直接关系啦。




不要被数据编辑器视图里左下角那乱七八糟的树困扰。这个树只是表示当前模板和哪几个模板有联系。但这些联系并非直接的从属关系,过分看重那个树反而会受到误导无法理解整个系统的运作方式。
回复

使用道具 举报

发表于 2010-10-5 20:23:37 | 显示全部楼层
【不管是什么】 几乎只要有视觉效果 就要建立相应的Actor 这个最复杂 但是你也没必要都弄 清

没有这个 对游戏的规则基本没什么影响 【单位】【 技能】 数值不变 只是没有视觉效果 都是圆球球

【技能】【 行为】【 武器】  都有一个effect的链接 链接相应的effect产生相应的效果                            实际产生的 如伤害之类的效果

unit该是什么就是什么 we里面的unit怎么用 这里也怎么用

mover 这个没怎么接触

Validator打头的那个超级好用 we里没有那个可真囧 se里不管什么【效果】【 技能 】【武器 】都可以添加相应的V

比如你想让某个技能只能对虫族有效 或者 只能对拥有特定BUFF的目标有效 就靠那个

其实初学的话 可以不管validator



一个最简单的单位就是unit属性 和一个支持其视觉效果的Actor【当然 Actor会链接相关的model】
一个简单的技能 就是一个 ability 拥有冷却时间 目标 消耗等等
加上一个effect 作为其产生效果 比如干掉500HP
如果想让它有视觉效果 就加入actor
如果想让他对特定的目标发生作用 就加入validator
回复

使用道具 举报

发表于 2010-10-5 20:25:38 | 显示全部楼层
Unit 单位,可以跑可以跳,可以消灭可以用技能的东西。凡是游戏中能选中的,都是单位。
Ability 技能,单位的功能键,可以用来完成各种操作,想跑想跳你必须用技能来完成,攻击,移动,停止是一种技能。
Behavior 行为,简单点说都是buff,就是用来修改单位的数据用的,持续存在的东西,行为能产生效果,效果也能添加行为。
Effect 效果,一般都是瞬间生效的东西,立即执行的东西,不影响单位的状态的东西。效果能产生行为,行为能产生效果。
Mover 移动器,其实单位一般都捆绑移动器,一般用来设定轨迹,就是单位移动的路线,默认的移动器有地上走和天上飞两种,你可以设置更多例如跳跃,弹道式飞行,翻滚。
Actor 动作者,用来连接所有的模型和模型响应,想看到你以上设置的所有东西,必须设置动作者,将单位,效果,行为与模型关联,这样你操作的时候才能显示在屏幕上,否则就只有一个黑球或透明的圈圈……
Validator 验证器,用来判定执行条件,一般用来限定单位的技能等,或者用于触发自动释放。


你列的这些只是一部分,是最常见的一部分,其实还有很多东西都很值得研究,例如路径,模型,物品类别,需求,升级,饰物之类的。不过那些东西远没以上的东西接触的多。



框架是这样的:

你想丢个东西到底图里,只能丢进去Unit,单位,于是你创建了一个单位丢进去……发现你的单位不能动,也不能攻击,也没有按钮可以用,没有技能可以使,而且在地图上是一个黑球……

接下来,你选择先解决移动问题,就算是黑球能动才行。于是你加入了Mover,默认的移动Ability于是你这个单位有了移动技能和移动速度,黑球能在地图上跑了。

但是你不满意于黑球,于是开始Actor,添加一个模型,设置模型Model动作回应,让你的单位在地图上变成想要的样子。

于是你的地图上不是黑球,而是一个机枪兵。

但是你发现机枪兵无法攻击,因为他没有武器Weapon,于是你回到Unit,给机枪兵加个默认的武器或者自己进入Weapon设置一个武器。

Weapon没有伤害,有一个伤害的Effect,于是你进入Effect,找到CEffectDamage,给你的武器添加了一个伤害效果。


然后你发现这个武器攻击能伤害敌人,却没有攻击动作,敌人掉血莫名其妙……

于是回到Actor,添加一个攻击的Actor,让武器攻击的时候产生子弹火花,敌人身上产生血液飞溅效果。


这下机枪兵能攻击了。但是你觉得攻击还不爽,要能扎兴奋剂,给自己加攻击速度,于是你打开Ability,添加一个技能。

你构想,这个技能给自己加个buff,两种加法,1直接技能是buff开关,2点技能产生一个瞬间效果,这个效果是添加buff。

1,直接设置CAbilBehavior,并添加一个CBehaviorBuff作为Buff。

2,设置一个CAbilInstantEffect,添加一个CEffectApplyBehavior,用这个效果添加一个CBehaviorBuff。

设置这个buff,提高Modif单位,让单位加速。

然后设置技能的Cost,消耗10生命。(或者添加一个效果set,让扎针掉自己10格血)

将这个技能添加到单位上。


这下用这个技能,机枪兵攻击速度提升了。但是机枪兵看起来和原来没什么区别。

于是你进入Actor,添加了一个Actor,添加一个光球的模型,当buff.on的时候产生,buff.off的时候消失。

于是你机枪兵扎针的时候会出现一个光球罩着。



然后你发现你生命少于10的时候扎针会把自己扎死,于是你设置一个Validator,当单位血少于10的时候无法扎针。



于是一个简单的机枪兵用上的以上你提到的所有东西。
回复

使用道具 举报

发表于 2010-10-5 21:44:10 | 显示全部楼层
所以举个例子确认一下,这算不算是运作机理



概括:

单位的主体是Unit、Actor
Unit决定“通常意义上的单位”具有怎样的作战能力,以及一些个性化的技能:Ability、Behavior、Weapon、Mover
Ability实现一些特殊能力,少数Ability可以链接Effect,某个Ability可以链接Behavior;能被Requirement限制
Effect实现瞬间效果,可以链接Behavior,可以链接Effect;Effect作为运用最为广泛的效果而存在;能被Validator限制
Behavior实现持续效果,可以链接Effect;能被Validator、Requirement限制

详细:

Unit
Unit可以设置一个单位的作战能力
Unit可以设置例如:
1.生命、护盾、占用人口、视野等一些基本能力(相当一部分这种被动能力要靠Behavior来实现)
2.一些个性化的能力:Ability、Behavior、Weapon(需要Attack技能支持)
3.技能栏:分配看得见的一些按钮,并将这些按钮和与之对应的Ability相关联;包含一些特殊的技能如建造、学习,需要特殊一点的设置
4.移动能力:Mover(需要Move技能支持)
所以只需要Unit、Actor,就可以制作出一个没有技能的机枪兵,不再需要其他的东西

Ability
Ability分为两种,一种是本身有某种效果,另一种是必须链接一个效果(也就是Effect)
某个特殊的Ability可以链接Behavior
后者就是主动技能,拥有一个特性,可升级,所以后者的效果链接通常都是以列表呈现,列表的每一行代表一个技能等级
前者实现了一些非常特殊的效果,有一小部分可以当做被动技能看待;而那些特殊效果极有可能只是一个螺丝,没有螺帽是没作用的
Ability是无法主动添加的,必须一开始就全都在Unit里面设置好,没法删除,可以在Behavior里面设置失效

Behavior
就是Buff,若说它是被动技能,确也是被动的,只有一个名为Buff的分类可以设置自己的存在时间,其他Behavior都是永久的
但无论持续时间如何,所有Behavior都会在状态栏现实一个Buff,可以设置隐藏
大多数Behavior和大多数Ability类似,实现一些被动能力
Behavior可以一开始就在Unit里面设置好,也可以通过Effect进行添加,或是被Effect驱散,或是满足了Validator就失去作用,或是满足了Validator就驱散

Effect
如其名,就是效果,实际作用依然概括不了,就像一部分Ability和Behavior都可以看做被动技能一样
所以硬要说的话,Effect就是负责瞬间执行(例如修改生命上限),Behavior则是长期执行(例如增加生命上限,文字意义上的区别)
Effect虽然可以被Behavior调用,但是多数情况还是经由Ability调用,用来调用Effect的Ability可以看作是下达命令,然后Effect负责执行,具体执行由Effect自己决定
Effect是一种链式结构,Effect可以调用Effect,可以看作是,要完成Ability的命令,必须执行很多个步骤,每个步骤不一样,分别用不同的Effect实现
Effect也可以用来添加Behavior,换言之,所有能够调用Effect的东西,都能够添加Behavior
又由于Behavior也能调用Effect,所以Behavior也可以参与这个链条,不仅仅作为一个终点
Effect也有间隔执行的设置,和Behavior Buff的间隔执行类似,但是最大的区别就是Effect无Buff,不否驱散
Effect是不可独立存在的

从这里就可以看出SC2编辑器的编程思想,这些模块代表的不是技能,而是技能的碎片,一个一个接口

Weapon
Weapon链接一系列Effect,说来完全可以当做一个“受攻击速度影响的Ability”;没有Attack技能就无法运作

Mover
单位移动方式,一种用于投射物,一种用于非投射物;没有Move技能也无法运作
前者无视地形,可以自行设计运动轨迹,但无法自由的改变它,而它会受到环境的一定影响
后者也就是通常意义上的控制移动,而具体的控制因素,必须在Unit的Movement里面设置,这个Movement不适用于前者
一个单位当然可以不要Mover,也就是不能动而已,连转身也做不到

Actor
笼统的说,就是视觉效果,凡是与作战能力毫不相关的,眼睛能看到的东西(例如模型、图标),都在这里设置,但是,若说是毫不相关也不尽然,例如选择单位,这些战斗中经常碰到的操作,恰恰也影响到了战斗 —— 例如点选不到、甚至根本就看不到,硬要说来,这些也算作战斗能力,算是例外
Actor和单位一样,需要创建,通常情况下,用来控制单位模型的Actor都必须指定:某一个单位诞生→自己也一同诞生。Actor的操作都依赖于事件捕捉,这比触发器的事件捕捉要强大得多,细致到了,哪怕是某个Effect发动了,或是Behavior发动了,Actor知道发动他们的人是谁,而你也能指定Actor创造与何处 —— 可设置的自由度,极尽时机与位置之精准
所以Actor是立于顶端的,只有它主动现身,不存在别人控制它的状况

Validator和Requirement都是用来起限制作用的,在能看到它们的场合,它们的拥有者的发动都受到它们的条件限制
Validator能够调用Requirement
回复

使用道具 举报

 楼主| 发表于 2010-10-6 01:32:16 | 显示全部楼层
非常详细~~很是感谢~~
回复

使用道具 举报

发表于 2010-10-8 19:15:39 | 显示全部楼层
OX把楼上的复制去做个新教程吧...
回复

使用道具 举报

发表于 2010-10-12 01:33:51 | 显示全部楼层
今天最后一次mark。不是故意的
回复

使用道具 举报

发表于 2010-10-12 09:49:24 | 显示全部楼层
在主題內容的下面有“收藏”功能。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 01:10 , Processed in 0.102795 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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