找回密码
 点一下
查看: 4158|回复: 7

【数据教程】 **群体恐惧技能** By.寒心

[复制链接]
发表于 2010-6-3 21:27:20 | 显示全部楼层 |阅读模式
这次的帖子,介绍用CBehaviorWander行为来做恐惧技能。本帖后会介绍一些Actor的简单的应用。

【技能分析】
关于如何实现群体效果..之前的帖子已经介绍了很多,这里就不再说了。
而恐惧本身则是让对方不能控制单位,那么必然需要用利用CBehaviorBuff中的Modification来修改单位的属性,设置Uncommandable使目标不能被命令。
其次,恐惧需要让敌人到处乱走,那么则需要利用到游荡CBehaviorWander行为。
最后,恐惧结束后,必须让他回到正常的状态~嗯嗯,因此要删除之前加入的游荡行为。



【技能的A-B-E结构】
+技能CAbilEffectInstant:H_Wander
 +-(技能H_Wander直接调用效果)区域效果CEffectEnumArea :H_Wander_Area
   +-(范围效果触发效果)集合效果CEffectSet:H_WanderSet
       +-(集合效果中的第一个效果)游荡行为CBehaviorWander:H_Wander_DebuffSetp1
       +-(集合效果中的第二个效果)增益行为CBehaviorBuff:H_Wander_DebuffSetp2
           +-(在H_Wander_Setp2结束后触发)移除行为效果CEffectRemoveBehavior:Remove_Wander


【技能实际效果A-B-E的制作例程】
********************************************************************************************************
**************************技能Abil 名称(ID):H_Wander**************************
  1.     <CAbilEffectInstant id="H_Wander">
  2.         <Cost>
  3.             <Vital index="Energy" value="0"/>
  4.             <Cooldown TimeUse="2"/>
  5.         </Cost>
  6.         <Effect index="0" value="H_Wander_Area"/>
  7.         <CmdButtonArray index="Execute" Requirements=""/>
  8.     </CAbilEffectInstant>
复制代码

********************************************************************************************************
**************************区域效果CEffectEnumArea 名称(ID):H_Wander_Area**************************
  1.     <CEffectEnumArea id="H_Wander_Area">
  2.         <SearchFilters value="-;Self"/>
  3.         <AreaArray Radius="5" Effect="H_WanderSet"/>
  4.         <ValidatorArray value=""/>
  5.         <SearchFlags index="ExtendByUnitRadius" value="1"/>
  6.         <MaxCount value="5"/>
  7.     </CEffectEnumArea>
复制代码

AreaArray Radius="5" :范围半径5
MaxCount :搜索最大数5


********************************************************************************************************
**************************集合效果CEffectSet 名称(ID):H_WanderSet**************************
  1.     <CEffectSet id="H_WanderSet">
  2.         <!--EffectArray value="H_Wander_Teleport"/>
  3.         <EffectArray value="H_Wander_Damage"/-->
  4.         <EffectArray value="H_Wander_Setp1"/>
  5.         <EffectArray value="H_Wander_Setp2"/>
  6.     </CEffectSet>
  7.     <CEffectApplyBehavior id="H_Wander_Setp1">
  8.         <Behavior value="H_Wander_DebuffSetp1"/>
  9.     </CEffectApplyBehavior>
  10.     <CEffectApplyBehavior id="H_Wander_Setp2">
  11.         <Behavior value="H_Wander_DebuffSetp2"/>
  12.     </CEffectApplyBehavior>
复制代码
********************************************************************************************************
**************************游荡行为CBehaviorWander 名称(ID):H_Wander_DebuffSetp1**************************
  1.     <CBehaviorWander id="H_Wander_DebuffSetp1">
  2.         <Range value="6"/>
  3.         <Delay value="0.5"/>
  4.     </CBehaviorWander>
复制代码

Range :游荡半径6
Delay :游荡延迟0.5秒


********************************************************************************************************
**************************增益行为CBehaviorBuff 名称(ID):H_Wander_DebuffSetp2**************************
  1.     <CBehaviorBuff id="H_Wander_DebuffSetp2">
  2.         <Duration value="6"/>
  3.         <Modification MoveSpeedBonus="5">
  4.             <StateFlags index="Uncommandable" value="1"/>
  5.         </Modification>
  6.         <ExpireEffect value="Remove_Wander"/>
  7.     </CBehaviorBuff>
复制代码

Duration value="6":此行为持续6秒。
MoveSpeedBonus="5" :移动速度+5。
StateFlags index="Uncommandable" value="1" :不能被命令。
ExpireEffect value="Remove_Wander":此行为消失后执行Remove_Wander效果。


********************************************************************************************************
**************************移除行为效果CEffectRemoveBehavior 名称(ID):Remove_Wander**************************
  1.     <CEffectRemoveBehavior id="Remove_Wander">
  2.         <WhichUnit Value="Target"/>
  3.         <BehaviorLink value="H_Wander_DebuffSetp1"/>
  4.     </CEffectRemoveBehavior>
复制代码



【技能光影效果】
首先所谓光影效果都是有某个或者某些执行M3文件来实现的,而M3的预览效果可以在编译器中查看。
之后在Model中定义你所需要的M3后,即可在Actor中控制它的播放时点、位置、规模等~


那么我们先定义我们的群体恐惧的技能释放时的光影效果~
我们选择的模型是EMP.m3,则在Model中定义如下:
  1.   <CModel id="H_Wander">
  2.         <Model value="Assets\Effects\Terran\EMP\EMP.m3"/>
  3.         <ScaleMax value="0.5,0.5,0.01"/>
  4.         <ScaleMin value="0.5,0.5,0.01"/>
  5.     </CModel>
复制代码
Model value :模型的路径。
ScaleMax/ScaleMin value:模型的长,宽,高。

其中我们希望这个模型播放时,比较扁平,因此ScaleMax 和 ScaleMin 的最后参数:高度,我们把他设定的很小。

我们要让这个模型在,技能释放时被播放,且在我们英雄的中心点释放。这在Actor中定义如下:
  1.   <CActorModel id="H_Wander" parent="ModelAnimationStyleOneShot">
  2.         <AutoScaleFactor value="3"/>
  3.         <HostSiteOps Ops="SOpAttachCenter"/>
  4.         <On Terms="Abil.H_Wander.SourceCastStart" Send="Create"/>
  5.         <Host Subject="_Selectable"/>
  6.     </CActorModel>
复制代码

parent="ModelAnimationStyleOneShot" :模型只播放一次。
AutoScaleFactor :模型按照单位比例放大系数。
HostSiteOps :模型播放的热点位置。SOpAttachCenter:中心。
Abil.H_Wander.SourceCastStart:模型播发的条件。技能H_Wander释放时。
Create:模型Event为生成播放。




【恐惧光影效果】
和上面技能释放时的光影效果的设定基本思路是相同的。先定义合适的Model,然后用Actor操作它什么时候播放。

我们这次选择的M3文件是,FungalEruption.m3。他的效果是一群飞虫在单位周围飞~定义如下:
  1.     <CModel id="H_Wander_DebuffSetp1">
  2.         <Model value="Assets\Effects\Zerg\FungalEruption\FungalEruption.m3"/>
  3.         <ScaleMax value="2,2,2"/>
  4.         <ScaleMin value="2,2,2"/>
  5.     </CModel>
复制代码

Actor中的定义如下:
  1. <CActorModel id="H_Wander_DebuffSetp1" parent="ModelAnimationStyleContinuous">
  2.         <Host Subject="_Selectable"/>
  3.         <HostSiteOps Ops="SOpAttachOverhead"/>
  4.         <AutoScaleFactor value="1"/>
  5.         <Inherits index="CloakEffect" value="1"/>
  6.         <Inherits index="LocalTintColor" value="1"/>
  7.         <On Terms="Behavior.H_Wander_DebuffSetp2.On" Send="Create"/>
  8.         <On Terms="Behavior.H_Wander_DebuffSetp2.Off" Send="Destroy"/>
  9.     </CActorModel>
复制代码

parent="ModelAnimationStyleContinuous" :模型持续播放。
AutoScaleFactor :模型按照单位比例放大系数。
HostSiteOps :模型播放的热点位置。SOpAttachOverhead:头顶
Behavior.H_Wander_DebuffSetp2.On/Off:模型播发的条件。游荡效果被开启、完了的时候。
Create:模型Event为生成播放。
Destroy:模型Event为消除摧毁。


恐惧技能与效果.JPG
发表于 2010-6-3 21:43:09 | 显示全部楼层
现在还是模型少呀  不然就能有很多奇怪的图图了
回复

使用道具 举报

 楼主| 发表于 2010-6-3 23:23:21 | 显示全部楼层
6月底 暴雪应该会有此大更新 不知道有新的效果模型没有
回复

使用道具 举报

发表于 2010-6-4 22:34:21 | 显示全部楼层
“单位不能被命令”只是禁用了界面,但是电脑控制单位不需要界面,这点如何处理?

我当初制作锁定刚开始也是用“禁止被命令”,发现对电脑无意义
回复

使用道具 举报

 楼主| 发表于 2010-6-4 22:50:25 | 显示全部楼层

回 3楼(沧海流星) 的帖子

如果只是正对这个恐惧技能的话,加入下面的就好了~
<ModifyFlags index="DisableAbils" value="1"/>
<ModifyFlags index="EnableMove" value="1"/>
回复

使用道具 举报

发表于 2010-6-4 23:53:51 | 显示全部楼层
我看不懂。。。。
回复

使用道具 举报

发表于 2011-3-29 12:25:34 | 显示全部楼层
有没有Data editor版本的。。。脚本看着迷糊
回复

使用道具 举报

发表于 2011-8-19 20:56:09 | 显示全部楼层
这是啥版本的压力大...
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 13:18 , Processed in 0.120180 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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