找回密码
 点一下
查看: 2968|回复: 18

【Solved.En Taro Renee猫锅】问下思路,时间炸弹是用CEffectEnumArea配合CBehavior实现吗?

[复制链接]
发表于 2010-9-19 21:19:57 | 显示全部楼层 |阅读模式
9月25日Update:
Time Bomb做出来了。
制作方法如下:
1. 把初期的模型、技能做出来,这个可以参考战役中的雷諾的技能(技能名:Chrono Rift/時間裂縫),這個階段幾乎是一樣的複製都行;
2. 添加一個Damage(傷害)類型的Effect(效果),傷害大於5的任意值,死亡類型選Timeout,在技能的Effect - Creat Persistent(創造持續性)效果的Expire項填入一個搜索範圍飛彈的效果,然後搜索範圍飛彈效果掛接這個傷害效果。這樣會在時間炸彈結束後殺掉範圍內飛彈。
2. 新建一個模組(Model),使用MissileTurretMissileTimeout.m3為造型,並且將Physics Type(物理類型)一項改為Always Simulated(總是模擬);
3. 搜索Actor: Missle Turret Attack Missile(單位“神箭手飛彈”的“動作者”),將Combat - Death Actor Model添上一個值。我選的PhoenixDeathModel(鳳凰死亡模型),這裡選中的Actor(動作者)如果類型和基礎(Type, Based On)不對可能會有影響;Combat - Death Events +裡設置Timeout死亡方式為之前創建的MissileTurretMissileTimeout,動畫填上Death。

最終效果應該是和CPU的性能和視頻中“物理性”選項有關的。我的只能掉落17個飛彈,其他則不被模擬……

但是我這樣模擬有個缺點,就是持續釋放多個力場,消失的力場總會“殺掉”它範圍內的所有飛彈,這不符合科學道理,這個。。。有待各位自己完善。

基本上這樣就行了。以下我的回帖都不用看了,那時候受到物理性模擬的影響被誤導了下了很多錯誤的結論。

Time Bomb.SC2Map

175 KB, 下载次数: 105

发表于 2010-9-19 21:21:48 | 显示全部楼层
当然,我们都没看到时间炸弹的原始模板。

不过这里应该还需要一个修改单位的effect,来把子弹给废掉。可以参考自动拦截的那个机枪塔的设置。
回复

使用道具 举报

发表于 2010-9-20 15:23:18 | 显示全部楼层
时间炸弹减慢子弹速度的方法也确实并非减速,而是用的更改单位时间流逝的方法。也就是Timescale

可以参考这个帖子。
http://bbs.islga.org/read-htm-tid-38356.html
回复

使用道具 举报

 楼主| 发表于 2010-9-20 20:54:22 | 显示全部楼层
嗯,那篇文章之前已经拜读过了;我也自己试验过TimeScale的种种…
这个技能从演示说明来看,飞弹是在正好要撞击到母舰前停止,那对我来说还有很多需要探索怎样去做到的

点评

此母舰太帅啦 跪求此MOD!!  详情 回复 发表于 2012-12-4 10:02
回复

使用道具 举报

发表于 2010-9-20 21:11:07 | 显示全部楼层
这应该是错觉了。如果你看搞清版本的话,就会发现有些子弹虽然被减速了,但是还是能打到母舰的。有爆炸的,虽然不是十分的明显,但是看护盾的数字就可以知道确实是被打了。因为母舰在立场中移动了,反而挨近了一部分被减速的子弹。



可以看看图1和图2护盾值的变化。
捕获1.JPG
捕获.JPG
回复

使用道具 举报

 楼主| 发表于 2010-9-20 21:17:45 | 显示全部楼层
哦,我也看见打到了些,但那解说员忽悠了我。。

左边一些飞弹停在空中了,是飞弹有寿命关系还是?
回复

使用道具 举报

发表于 2010-9-20 21:18:13 | 显示全部楼层
不过,如果你想要做出,子弹在进入立场时并不减速,而是在接近立场中的单位时才减速的效果也是可以的。

参考母舰的隐身光环。隐身光环本质上是一个buff,它周期性地搜索母舰周围的区域,并给其中的单位附加隐身的buff。


所以可以这样做,做一个Persistent的效果,周期性的给一定区域内的己方单位附加buff,这个buff本身又是一个光环性质的东西,周期性的搜索buff拥有者自身小范围内的单位,并给它们附加上降低timescale的buff。

也就是说相当于光环附加光环。
回复

使用道具 举报

 楼主| 发表于 2010-9-21 11:11:51 | 显示全部楼层
我試著做了一下。發現一個好用的參考物……雷諾的時間陷阱,然後做了下邊的樣子:

Ability --> Effect(creat persistent) --> Effect(missile search area) --> Effect(apply missile behavior) --> Behavior(time scale missile to 0.01)

但是接著要做到在效果結束後飞弹坠地。我就在Effect(creat persistent)的Effect-Expire添加了一个Effect(apply missile behavior B),给飞弹一个behavior,这里就是问题所在了:我想通过添加一个Jump类的Behavior,改变了Mover来达到飞弹坠地效果,但多次测试更改参数都很不理想,结果总是飞弹乱飞。

那么,要怎样才能让飞弹坠地呢?

我查看了官方的模型,导弹塔的导弹有一个飞弹timeout(头向下)的动画。我不知道……如果就是杀死那些飞弹,用什么做呢 (前文自动拦截机枪塔是一个buff?我去看看)
回复

使用道具 举报

发表于 2010-9-21 14:45:22 | 显示全部楼层
有timeout动画?我这边没有啊?
回复

使用道具 举报

发表于 2010-9-21 18:10:27 | 显示全部楼层
我也没有那个动画


机械单位爆炸后的尸骸,运用了物理引擎,然而那些尸骸本身与mover无关,物理引擎是怎么和这些碎片关联上的呢,至少可以确认,如果玩家自己制作的模型如果不能和物理引擎关联上的话,就没有意义了

Model的Physics Type可以控制使用物理引擎的类型,但尽管选择了never,使得碎片动画降落碰到地面不反弹了,但爆炸使得碎片飞行的角度也并不固定,这在观看动画的时候就不是固定的,且可以掉落碰撞。那么那些动画究竟使用了什么技术呢,总不能多类型随机吧,或者说那个动画查看器就已经使用了物理引擎,倘若是这样也就好了,也就表示物理引擎可以调用,难道是模型本身可以设置调用物理引擎吗,换言之那些碎片并不是动画,而是由物理引擎模拟出来的动作

我将女妖的死亡模型换成Ghost,死后女妖不,Ghost并没有掉下来,而是死在空中,这也就表示物理引擎由model自己决定,即便换成雷神,碎片也会掉落在地上。再仔细一想,脱离了model,单纯的M3文件就能播放出物理爆炸,所以物理引擎是由M3文件决定的...

是这样吗...
回复

使用道具 举报

 楼主| 发表于 2010-9-21 21:18:00 | 显示全部楼层
位置是
Assets/Effects/Terran/MissileTurretMissileTimeout/MissileTurretMissileTimeout.m3
就是这个动画。 包含Birth(头开始转下),Stand(向下还有尾焰),Death(向下无尾焰)三个序列。
我比较纠结那个尾焰…

还是先去尝试一下杀掉这些飞弹(projectile)

——————————————————————
不行啊。。。这些飞弹用一个Damage类型的Effect,即使死亡类型选了TimeOut还是直接消失了。不知道是我设定得哪里不对还是怎么的。

就是这个

就是这个
回复

使用道具 举报

发表于 2010-9-21 22:25:39 | 显示全部楼层
因为你得修改这个单位的Actor,让它挂接死亡模型。这个你可以参照普通单位死亡时的actor设置。
回复

使用道具 举报

 楼主| 发表于 2010-9-21 22:38:15 | 显示全部楼层
嗯,我发现这个问题了。有些普通单位动画序列有Death,Death Fire,但这个是独立的模型,必须要修改模型。

修改中……
回复

使用道具 举报

 楼主| 发表于 2010-9-22 00:15:45 | 显示全部楼层
我无论怎样改,飞弹(Actor:Missile Turret Attack Missile)的死亡动画都是直接消失………
我在不使用Timebomb时直接测试飞弹的各种死亡动画, 我甚至把飞弹换成了Firebat,死亡动画都换成了Death-Raynor,默认的Events-Unit-Death直接删除了,它还是直接消失。

我现在怀疑所有飞弹(Unit-Projectile)都无视Actor挂接的死亡动画,虽然飞弹有个TimeOut模型,但不代表就是Timeout死亡。坠地?真的很难办。

目前只有下载720p演示demo再仔细看一下原效果。
_______________________________________

在观看了720P的演示录像后我确认,时间炸弹共分为3个阶段。
第一阶段是飞弹进入时间炸弹范围,这时候开始减速;
第二阶段是飞弹进入时间炸弹范围后,通过观察飞弹影子的移动,确实在很靠近母舰的时候停止了移动,而且飞弹的弹头方向似乎发生了变化。但在母舰移动后飞弹弹头转向,可见此时飞弹仍然目标是母舰。但是什么让他们的弹头一开始发生了变化?
第三阶段是时间炸弹解除后,飞弹坠落到地面,滚动一下后消失。

第一阶段的制作很容易,target类技能释放(原技能是指定在飞船下释放的Target类技能!),用search area效果确定范围后给每个飞弹挂一个行为,将Time Scale修改为一个较低数值(例如0.01),这时候飞弹就能减速;
第二阶段和第三阶段主要是如何让飞弹(不管它现在还是不是Unit-Projectile类型)坠落到地面,目前我还不知道任务东西可以做到“坠落”到地面这种情况,这很可能是某个“行为”可以指定引力参数等数值,也可能是一个Mover. 如之前帖上所说是m3模型定义的物理参数?如果是这样,是否直接更改飞弹模型,飞弹就会坠地呢?
我觉得更改Mover的机会较大,但改成死神的mover已经失败过了。

SC2Mapster上也有人想要重制时间炸弹技能,但最重要的飞弹坠落问题似乎还没有结论。

至此,问题尚待解决,但不是那么容易了,只有一点点探索。
回复

使用道具 举报

 楼主| 发表于 2010-9-23 01:25:31 | 显示全部楼层
虽然还没有做出一个完整的实例,但是这个问题已经彻底解决了。

飞弹坠落的解决参考了猫锅的说法,果然是m3文件自己定义了物理参数?(具体我不知道怎样描述比较准确了)。
总之,我只是做了个actor,简单的加了Event,说明飞弹挂掉的时候就创造一个指向MissileTurretMissileTimeout.m3的模型,结果最后飞弹就唰唰唰地往下掉了。(後續補充:實際上還在新加的actor裡設定了Death Effect的Timeout死亡模型,為何要如此還在探究)
我想Mapster那帮研究数据编辑的老外都要哭了:它竟然既不是Effect/Behavior也不是Mover,只是一个模型就解决了一切。当然我也有些小失望,物理性质是定义在单个模型中,而不是一个物理的环境。

下一步PlanetCracker,这个看起来实在就太简单了……

原始的黑洞技能的图标确实是被暴雪吃掉了,这个我无力吐槽…

从物理上讲,我更喜欢这个图标

从物理上讲,我更喜欢这个图标
回复

使用道具 举报

发表于 2010-9-23 06:11:14 | 显示全部楼层
说起来我一开始就只让你在在死后挂接死亡模型的说。并不需要mover。以前在单位方面弄过类似的东西。


不过我确实没试过导弹类型的actor能不能直接挂接死亡模型。如果实在不行的话就用Event来新建一个模型好了,就是你那种方法。
回复

使用道具 举报

发表于 2012-12-4 10:02:44 | 显示全部楼层
rainhere 发表于 2010-9-20 20:54
嗯,那篇文章之前已经拜读过了;我也自己试验过TimeScale的种种…
这个技能从演示说明来看,飞弹是在正好要 ...

此母舰太帅啦  跪求此MOD!!
回复

使用道具 举报

发表于 2012-12-4 12:40:31 | 显示全部楼层
诶……是楼上挖的坟……

话说时间炸弹在自由之翼beta原版有(游民星空可下 大概还可以)

好像现在虫心beta的神谕者的技能也算是吧

点评

嘿嘿。。。。 我其实最想要的是视频最开始母舰的出现方式  详情 回复 发表于 2012-12-4 12:51
回复

使用道具 举报

发表于 2012-12-4 12:51:19 | 显示全部楼层
大胃王之猩 发表于 2012-12-4 12:40
诶……是楼上挖的坟……

话说时间炸弹在自由之翼beta原版有(游民星空可下 大概还可以)

嘿嘿。。。。
我其实最想要的是视频最开始母舰的出现方式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 21:41 , Processed in 0.210002 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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