找回密码
 点一下
查看: 3586|回复: 14

1.5.0利用新版“发射飞弹”效果实现更完美的“钩子”和“跳跃”技能

[复制链接]
发表于 2012-5-31 18:10:19 | 显示全部楼层 |阅读模式
注意:1.5增加了一个叫“重定向飞弹”的效果,但和这里说的并不是一回事,这里讲的是“发射飞弹”效果。


在1.5.0版本以前,大家是如何实现dota那种“钩子”技能的呢?
使用力效果么?

力效果的缺点是无法穿过障碍,移动速度也受限于目标单位的移动速度,因此当你和你的目标隔开一道悬崖时,你就没法把他钩过来了。


直接用触发器或者传送效果来移动单位?

存在效率上的问题,而且如果想要模拟抛物线型的路径的话,计算上也有很大负担。


直接移动单位到目标点,然后用actor来实现视觉效果?

不够完美

如果我们可以让一个现有单位临时地变成飞弹,并发射到目标点,那么制作钩子或者跳跃技能就会非常方便了。


而现在,在1.5中,你已经可以直接以“发射飞弹”效果来发射一个地图上已经存在的单位,并指定发射过程中使用的mover。也就是说,你可以把一个现有单位当成导弹来发射出去。

其实在1.5版本以前,你已经可以部分做到这一点。

只要把飞弹发射(Launch Missile)效果的“Ammo Unit”这一栏去掉。那么,Launch Missile效果会自动使用发射点的单位(如果发射点是一个单位)作为导弹来发射。

但是一般来说,导弹命中目标点后会死亡,但我们如果想做钩子技能的话,我们显然不希望被勾过来的单位立刻死亡,怎么办呢?

这里又有另外一个窍门:把飞弹效果的死亡类型(Death Type)改成“未知(Unkown)”。这样,这个飞弹就不会死了。于是就实现了把单位发射到目标点,却又不死亡的效果。

但在1.5以前,这里存在一个bug。一旦一个单位变成飞弹,它的mover就变不回来了。而飞弹在抵达目标点以后就无法进行移动,所以被发射的单位将一直卡在目标点,无法移动也做不了任何动作。

但是1.5修正了这一bug。所有被当成飞弹发射出去的单位,在抵达目标点或者飞弹mover超时以后,会自动变回该单位原有的mover。也就是说,又可以正常移动了。


好了,既然如此,现在我们想要制作钩子技能就变得很容易了,只要先做一个抛出钩子的效果,然后在钩子命中目标时,把目标单位发射到施法者的位置即可。


以下为演示地图中“将目标钩过来”的核心效果

[codes=xml]
    <CEffectLaunchMissile id="HookLaunchToMe">
        <LaunchLocation Value="TargetUnit"/>
        <ImpactLocation Value="CasterPoint"/>
        <Flags index="2D" value="1"/>
        <Flags index="Channeled" value="1"/>
        <Flags index="Placement" value="1"/>
        <Flags index="ValidateAbil" value="0"/>
        <Flags index="ValidateWeapon" value="0"/>
        <PlacementRange value="3"/>
        <Movers Link="HookedVictim"/>
        <DeathType value="Unknown"/>
    </CEffectLaunchMissile>
[/codes]

由于我们想要发射的是目标单位,所以LaunchLocation为目标单位,而目标点位Caster Point。

将死亡类型设为unknown以免单位被钩过来以后死亡。

那“2D”这个flag是做什么的呢?你看了下面的视频后会发现,战巡舰发射自己到目标点后,它的高度将会一直保持目标点的高度不变。这显然不够完美。因此2D这个flag是用来保证单位的发射目标点高度和原高度相同,以免出现高度异常的问题。这样,当你把飞行单位钩过来以后,飞行单位的高度不至于产生变化。

单纯这样做还不够完美,因为把目标钩过来还设计到一个放置问题。如果施法者周围空间不够,就可能会出现目标单位被钩过来以后被卡在悬崖里面,或者别的单位里面的问题。一般来说,遇到这种问题时我们先要在施法者身边创建一个临时占位单位。好在发射导弹效果自带一个“放置(Placement)”flag。我们只要勾上这个flag,然后后设好放置距离(Placement Range)”,比如设为3的距离。这样在飞弹的目标点如果3的范围内没有地方可以放置,那么这个发射效果就会自动取消。免去了许多麻烦,而如果有地方可以放置,那么这个飞弹会被直接发射到那个可放置的位置。




附件是演示地图,演示地图里有一个感染者和一个战巡,感染者可以把任何目标单位勾到自己身边(不论空中单位还是地面单位,不改变目标单位的高度)。而战巡可以把自己发射出去轰炸目标(会改变高度)。

大家可以自己测试效果。





最后两大注意要点:

1]这个效果本质上是动态改变单位的Mover。但问题是目前1.5 alpha的发射导弹小国并不接受非导弹类型的Mover。所以如果你想要把一个地面单位的Mover变成空中单位只有靠Catalog
2]当你要使用发射导弹效果来发射一个已经存在的单位时,切记不能勾上“Return”。在1.5alpha中会导致游戏崩溃。因为连单位本身都发射出去了,导弹当然无法正确得到返航坐标。

1.5Hook-LaunchExistedUnit.SC2Map

114 KB, 下载次数: 161

1.5Hook.flv

2.46 MB, 下载次数: 55

发表于 2012-5-31 18:24:05 | 显示全部楼层
321.gif
(抢沙发)
回复

使用道具 举报

发表于 2012-5-31 20:01:52 | 显示全部楼层
这个技能真gj!我一直无法解决的跳跃技能现在用这个效果直接ok了!

1.5快点来吧!
回复

使用道具 举报

发表于 2012-5-31 20:54:53 | 显示全部楼层
前排留名
回复

使用道具 举报

发表于 2012-5-31 21:32:30 | 显示全部楼层
好好玩……着四夕水就可以做更加犀利的冲锋技能了喵~
回复

使用道具 举报

 楼主| 发表于 2012-5-31 21:44:50 | 显示全部楼层
由于1.5东西太多,一直愁没时间写教程啊
回复

使用道具 举报

发表于 2012-5-31 22:59:42 | 显示全部楼层
好强大
回复

使用道具 举报

发表于 2012-5-31 23:01:24 | 显示全部楼层

回 麦德三世 的帖子

麦德三世:由于1.5东西太多,一直愁没时间写教程啊 (2012-05-31 21:44)
   吊爆了
回复

使用道具 举报

 楼主| 发表于 2012-6-1 00:40:26 | 显示全部楼层
这里额外补充一下。

在视频里面你可以看到,被钩过来的目标会被拉到施法者的身边。但如果我希望的是把目标拉到施法者的“正前方”呢?

这里我们就可以利用“Impact Offset”(也就是命中点偏移)属性了。由于命中点偏移是以命中目标单位的朝向为偏移的。所以我们只要设置它的Y轴偏移为一个正数就能把偏移点定在单位的正前方了。

这样,目标单位就会一直落在施法者的正前方(前提是正前方有地方可以放置)。

1.5Hook-InFront.SC2Map

114 KB, 下载次数: 22

回复

使用道具 举报

发表于 2012-6-1 01:11:13 | 显示全部楼层
顶一下睡觉了~~~明天继续苦逼的工作去………………
回复

使用道具 举报

发表于 2012-6-1 09:43:41 | 显示全部楼层

回 麦德三世 的帖子

麦德三世:由于1.5东西太多,一直愁没时间写教程啊&#160;(2012-05-31 21:44)&#160;
先对新旧区别来个详细点的分析吧~
回复

使用道具 举报

发表于 2012-6-1 16:55:34 | 显示全部楼层
来吧来吧  刚学会怎么新建单位~~等把基础学得差不多了估计就1.5也出了~~
回复

使用道具 举报

发表于 2012-6-1 22:41:55 | 显示全部楼层
每次打开这个网页都会被虫子的声音吓一跳的说……
回复

使用道具 举报

发表于 2016-11-16 22:22:14 | 显示全部楼层
头目,可否做一个非指向性钩子的教程,我最近在做非指向性的钩子,发现无论怎样都没法把目标单位发射回来

点评

非指向性的钩子,一般来说,钩子本身就是一枚飞弹,飞弹指向一个点,而不是一个特定的单位。飞弹在飞行过程中会通过行为周期搜索符合条件的单位,然后就进入头目教程里的钩子流程了。需要说明的是:飞弹调用搜索效果  详情 回复 发表于 2016-11-17 18:07
回复

使用道具 举报

发表于 2016-11-17 18:07:19 | 显示全部楼层
2104075556 发表于 2016-11-16 22:22
头目,可否做一个非指向性钩子的教程,我最近在做非指向性的钩子,发现无论怎样都没法把目标单位发射回来

非指向性的钩子,一般来说,钩子本身就是一枚飞弹,飞弹指向一个点,而不是一个特定的单位。飞弹在飞行过程中会通过行为周期搜索符合条件的单位,然后就进入头目教程里的钩子流程了。需要说明的是:飞弹调用搜索效果的行为一定是发射飞弹时套上去的,否则发射飞弹的效果和飞弹的搜索就是两个独立的树,你可能无法正确获得施法者的位置。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 18:33 , Processed in 0.081965 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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