投稿者 Earendel,Jarosław 于 2024-08-02

大家好,
现在该讲讲我在工厂报#399 中提到的那些“特斯拉物品”了。
--------------------
特斯拉炮塔(Tesla turret) ~ Earendel
在 Fulgora 上你学会了控制闪电,把它从危险变为电力。之后你又学会了制造更高级的电子元件,并且掌握了这颗星球的电磁研究包(Electromagnetic science pack),现在你终于可以进行下一个步骤了:把电力转换成闪电,解锁特斯拉炮塔。

图形:Jarosław;音效:Ian
特斯拉炮塔像激光炮塔一样,是一个电力炮塔。激光炮塔只占用 2x2 的空间,但是特斯拉炮塔要大得多,占用 4x4 的空间。特斯拉炮塔威力更强,但也会吃掉更多的电力。不止每次射击耗能更多,最小能耗也十分大。顺带一提,我们实际上减少了激光炮塔的最小能耗,因此这俩电力炮塔不同点更多,而且在不同的情况下更好用。
这台机器并不是一个简单地特斯拉线圈,技术上讲,它更像紧凑粒子加速器,发射质子束或离子束。一旦主光束击中了目标,因为它被强烈充能了,会产生次级闪电链,可以链接至周围的其它目标。
闪电链效果使得特斯拉炮塔在对付成群敌人时非常有用。
特斯拉炮塔每秒会造成 60 点伤害,挺不错。但是很难笼统地概括伤害,因为有些敌人弱电,而且科技会给伤害提供重大加成。还有,这只是对每个目标的伤害,闪电链可以链接十个次级目标,它们全都会受到全部的伤害。

就像其它炮塔一样,更高的品质提供更大的攻击范围。基础范围是 30 格,传说品质是 45。特斯拉炮塔比较特殊,因为品质也会提高分支出次级闪电链概率,从而可以击中更多目标。基础情况下,每次跳跃时都有 5% 概率分支,传说品质会提高至 30%。
不过伤害并不是这台炮塔唯一的焦点,它同样着眼于群体控制。闪电链会击晕目标,使它们停止移动一会,而在它们刚从眩晕中恢复过来的一段时间内,它们的速度会减慢。因此这台炮塔可以把敌人从你的东西旁边赶走,甚至还能在它们走近你的设施时中止它们的攻击。这台炮塔还能使敌人扎堆,辅助群体攻击,比如火焰炮塔和爆破火箭弹。此外,火焰炮塔会想要你把敌人锁在城墙外远处的。
这台炮塔比其它炮塔更贵,而且只能在 Fulgora 上制造,所以,至少一段时间,你不能到处用它。这台炮塔可以和其它炮塔的协同工作,因此最好在关键位置上放点特斯拉炮塔,这样防线被攻破时不会太难看。比如,重炮堡垒,这是一个早期用例。你应该知道吧,这里肯定会挨打,但是只需要一些特斯拉炮塔,情况就会大有改观。
此外,你也会解锁手持式特斯拉枪,需要弹药,但是除此以外跟特斯拉炮塔没什么区别。这把枪比其它手持武器更适合群体控制。跟特斯拉炮塔相比,它的闪电链更长一点,并且分支几率更高。

这把枪的伤害可能比不上其它武器,但因为额外的闪电链,只用这一把枪就能控制一群敌人。可以使用这把枪保你不死,然后用其它东西提高伤害,比如集束手雷、进攻无人机胶囊、激光防御模块。
--------------------
游戏设计 ~ Earendel
你们中的大多数应该已经知道了,我的模组《太空探索》里有一把特斯拉枪。这是最有名的武器之一,因为用着很有意思。
我总是想整一个炮塔版本的,但没找到过可行的办法。模组里那个手持版本的没问题,但这是因为最多就几个人会同时用这把枪。要是有几十上百个炮塔使用同样的效果,那用不了多久就得掉帧了,因为模组需要用 Lua 脚本搜索敌人,这样才可以计算出闪电链的每个节点的位置,就是这个脚本拖慢了游戏。
制作《太空时代》的第一个游戏玩法原型时,我只是把所有能想到的全做一遍,然后看看那些能用。我们知道要往游戏里加入一个电磁风格的星球,所以特斯拉炮塔非常适合。于是我就把特斯拉炮塔加上去了,它会在这个星球上解锁。但是老问题又来了,这个功能的引擎实现还不存在。最开始,这个炮塔只是发射进攻无人机的激光束,当然我计划要做一大堆新功能。
不像火箭炮塔那样,它显然发射火箭弹,特斯拉炮塔的效果或多或少是一张白纸。这就是说,它可以不只有伤害,我感觉还可以当一个辅助:正经塔防游戏里可以见到的那种。
短暂冲击眩晕,这个效果跟电力攻击挺般配的,所以这个效果成为了主要的非攻击特性之一。视觉上没多大冲击力,敌人只是停了一下。所以我试着添加了一个微弱的击退效果,这产生了巨大作用。只是稍微改变了它们的位置,看起来就像是被电到,抽搐然后跳开了,简直完美啊。机制上也跟眩晕巧妙地搭配起来了,因为更多地阻碍了敌人的移动。
--------------------
概念图 ~ Earendel

早期实验(第一版之前)
特斯拉炮塔的概念图有点难办,因为我有一大堆灵感想要使用,但它们却全都让设计变成了我想要避免的样子。设计流程充满了陷阱和细微差别。
- 总体结构的形状应当含糊地令人想起《命令与征服》里怀旧的特斯拉防线,但又不能太接近了。
- 在旧插件塔和新插件塔的设计之间有一个中间的版本,在工厂报#399 中讲解过。这个设计不是一个好的插件塔,因为跟它周围的机器相比太显眼了。那个时候有人说,它看起来像是个特斯拉炮塔。所以我想在特斯拉炮塔的设计中捕捉一部分这个版本的特征,但是问题是我们现在的插件塔也是基于这个设计的。
- 因此特斯拉炮塔不能看着太像现在的插件塔,这点很重要。它们有些相似之处,因为它们都是高电压系统,但是外观不应容易混淆。
- 特斯拉炮塔的设计需要表达出高电压和电效果,但它实际上不是万向特斯拉线圈,它是旋转炮塔上的质子束。也就是说,它需要一个炮口,旋转炮口之后才可以射击(就像其它炮塔一样)
- 特斯拉炮塔的设计需要表达出跟激光炮塔的联系,暗示它们属于同一家族,但看起来不能是放大的激光炮塔。
设计需要修订几个版本,因为 Albert,V453000 还有我在这些效果是否太多或太少方面有不同的意见。另外,从线稿中一般看不出某个东西是否太像另一个东西,但上阴影的版本中是显然的。我们在第一版之前做了许多调整,这些调整不太线性,所以没办法在这里展示出来,所以这里展示第一版的最终结构,后面我们认为它更像插件塔而不是激光炮塔。

概念图第一版。测试它是否适用于不同的玩家颜色。
最终版本是第三版。从第一版到第三版背后的主要目的是:
- 把洞再填满一点。
- 移除洞周围的“栅栏”。
- 添加像是激光炮塔的对角线支柱。
所有东西都是互相连接的,所以最后只有头部保持不变。

乍一看,新版可能除了高度以外没有任何不同,但如果仔细看,一旦发现了差异,就会发现一切都不同了。
所以最终的设计中包含:
- 一丝复古未来风格外观,但没有太多。
- 一丝第二版插件塔面貌,但没有太多。
- 一丝插件塔的高压地下电容组外貌,但没有太多。
- 一丝激光炮塔提示,通过对角线支柱和右下角绿色电容表示,但没有太多。
- 最后形状上,一丝特斯拉线圈感觉,同时看着又不像特斯拉线圈。

第三版的线稿,分配了材质。
设计的最后一部分是电束本身。进攻无人机的射线只在短距离内效果不错,长距离上说不上好。特斯拉炮塔应该拥有更有力的效果,但因为几种原因,最好能把主质子束跟闪电链分开。主电束要更亮,并且核心类似于激光,笔直发射,周围还要有电弧,相比之下闪电链没有笔直的光束,只是电弧而已。

使用现有段系统的主光束。为清楚期间,突出显示了重复的段。
--------------------
最终图形——电束传奇 ~ Jarosław
我刚开始制作特斯拉炮塔时,简直就纯纯度假。跟我通常制作的复杂项目相比,这就雕虫小技而已。模型的大部分工作都直截了当,平滑地过去了,这部分完美得无话可说。直到制作电束本身之前,情况都是这样的。在这里我把所有习惯的复杂性全都找回来了——尽管就算是最简单的任务,我也有能力而且也愿意过度设计,因此它可能要再复杂一点。
炮塔底座有许多电弧,在发射时会围绕炮塔移动,但炮塔空闲且有电时也是如此。这些弧线总是从结构上的一个点到另一个点。这种问题我们已经在蓄电器、插件塔和闪电收集器(lightning collectors)上解决一遍了。特斯拉炮塔上的电弧略有不同,但相同的方法奏效了,所以这些电弧没造成什么麻烦。
电束武器的电弧是另一回事,事实证明重现是一件奇怪的事情。它们的结构有限——它们从 A 点到 B 点呈弧形 (废话),但介于之间的一切都非常混乱而且无法预测,不过遵循一定的节奏。这是一种有结构的混乱,在搞错了什么时,这种混乱非常明显,因此很难复制。但是,还有一个更重要的复杂性——电束需要能够击中靠得很近和离得很远的目标,因此——应该能够缩放。
显而易见的起点是游戏中已经存在的放电束——一个简单而实用的结构。它的来龙去脉非常简单——我们拍摄一个循环动画,将单个电束分成 6 个不同的电弧,然后将其切割成 6 个部分,每个部分一个电弧。由于弧线的起点和终点都在同一点,因此我们可以根据需要多次重复这些段,以达到电束的必要长度,然后只需在两侧施加一点开始和结束效果即可。简单,容易,而且——不幸的是——当放大到特斯拉炮塔的大小时,非常不起眼。

其中一个问题——电束的冲击力——在某种程度上很容易解决。这个系统正在工作,只是需要更多的关注和照顾才能在大规模上看起来更好。对过程本身进行一些改进——以防止理智的丧失——也不是一个坏主意。另一个问题与我之前提到的有关——有结构混乱的概念。随着新电束的尺寸越来越大,射程更远,在屏幕上停留的时间更长,很明显,所展示的混乱只是一个仿制品,具有清晰可辨的——因此也是可预测的——结构。
简单地说,在像进攻无人机这样的小电束中,射程很低,它通常只重复一次(如果有的话),而且重复并不那么明显,因为波束的任何部分都不是很明显。对于特斯拉炮塔来说,光束很长,经常需要重复很多次,而且每一段都比较奢侈,所以重复更明显。光束的每一段都被锁定在相同的时间,以便它始终与它之前的线段匹配,但这意味着如果光束的那部分向左跳跃,那么完全相同的事情会在光束的多个点上同时发生,看起来非常不自然。有些事情需要改变,所以 Earendel,Vaclav 和我开始头脑风暴(我大部分时间都只是风暴),我们对系统提出了两个关键的改进。
对于第一个,每个弧段的长度增加了一倍,而间距却没有改变——这意味着大量的部分重叠。由于中央质子束用作基底或底座,弧线可能会变得更加疯狂,我们不需要关心它们如何将一个连接到另一个。此外,这种方法使分段看起来更自然,结构更少。不过,真正的问题是随机化的方法。一个明显的改进是使用随机片段,而不是按照从第一到第六的顺序使用它们并重复。然而,如果我在太空平台边界和平台枢纽的工作中学到了一件事——那就是随机数生成器之神确实存在,他们折磨的不是艺术家,而是设计师!没有什么能像在均匀偏移处重复几道相同的闪电那样,肯定地消除自然混乱的感觉了。
需要一种不同的方法——而 Earendel 提供了一个出色的方法。我们不是随机化我们使用的片段的顺序,而是随机化动画的偏移量。由于每个动画都会循环,因此从“结尾”开始它不是问题,而且电束的混沌性质意味着通常只需几帧偏移就足以将其与其他实例区分开来。

说完这些,剩下的最后一件事就是卷起袖子,进入技术部分。
我们以前用于电束的系统非常简单。它基于一个非常简单的带状形状,然后使用各种随机映射进行位移。如果你不懂 3D 图形,你可以把位移想象成波浪移动漂浮在湖上的丝带。尽管在我们的案例中,我们不仅有波浪,还有一场微型风暴以非常混乱的方式取代了丝带,从而产生了一种视觉效果,类似于电弧。可以使用钩子进一步调整色带的形状,钩子是可以“捏住和移动”弧中心的特殊物体——这些在下一步中将变得非常重要。

我们现在所拥有的是现有和新建筑中用于渲染电弧的东西——但对于更光荣的东西,比如特斯拉炮塔,我们需要走得更远。下一步是增加电弧典型的剧烈跳跃。我们可以使用钩子来做到这一点——但这需要大量的手动工作,因为尝试手动重建混乱通常是非常棘手和乏味的。取而代之的是,我决定创建一个新的变形系统,我以我通常的方式命名它:疯狂驱动器。
这些工作方式非常简单——我有一组随机旋转的对象(旋转器),然后是另一组读取旋转并将其转换为运动的对象(驱动器)。这个噱头在于 3D 图形感知旋转的方式——任何超过 360° 的旋转都会“重置”为零,并从那里继续。这意味着,如果旋转器在一个轴上旋转 2 圈,则连接的驱动器将在第一次旋转期间从 A 点移动到 B 点,然后“传送”回 A 点并再次移动到 B。现在,想象一下同样的情况,但旋转器以随机方式在所有 3 个轴上疯狂旋转——或者更好的是,在下面观看它的实际操作!

现在,将我们的钩子——它可以控制丝带——连接到驱动器上是一种非常简单的方法。这产生了足够的结果,尽管我确实必须通过手动调整钩子的位置来在这里和那里微调它们。我认为这一步只是一个轻微的调整,但事实证明它比我想的更重要——对设法放置的随机混乱的“人为干预”介于完全程序化和完全手动方法之间,所以这正是我想要的。

就像现在一样,无论疯狂驱动器如何猛烈地将它们推开,弧线都会保持在中央电束上。我想解决这个问题,并在某些地方“切割”弧线,给人一种弧线从电束上撕裂的错觉。不过,完全以这种方式做到这一点将需要做很多工作——将弧线的末端移开和移回会影响已经到位的许多其他事情。那时我决定寻找一点“作弊”——这就是有选择地将丝带从末端缩小到它“消失”的一点。从技术上讲,弧线仍然从 A 流向 B,但从视觉上看,由于它承载的功率大,它猛烈地从光束上撕裂开来。

有了主弧线,我想重用这个系统来创建更多、更小的弧线。我对以前使用的缩小技巧非常满意,并想对较小的闪电使用类似的效果......只是在更大的范围内。我想出的解决方案是使用一种称为“背面剔除”的方法——通俗地说,这意味着我使丝带的背面不可见。由于丝带被位移的微型风暴抛来抛去,它会扭曲和旋转很多——如果我们只画它的正面,它就会非常好地支持视觉效果!

在那一刻,我对这些效果非常满意,但有一件事让我印象深刻——组合后的效果非常动态和激进,但缺乏方向性。它似乎只是“坐在那里”,而不是直接向目标提供集中的自由电流。这就是为什么我最终添加了第二层次级弧,这次是高速向光束的末端移动。尽管这些是微不足道的,就算故意找也很难发现,但这足以欺骗大脑感知这些微妙的运动,而不会太明显而压倒其它视觉效果。

有了所有这些系统,我只想把最后一块拼图落到位——闪电分支,从更明显的弧线中分裂出来。还记得我曾提到过调整弧线以行进到不同的点 B 将是一项艰巨的工作吗?嗯,确实如此,因为这些闪电是手工添加的,并逐帧调整以适应动画的其余部分。即使只有其中的几个元素,移动元素的数量也增长得非常快,我需要寻找方法来保持我的理智,通过自动化我的工作空间本身——确保仅在必要时绘制或隐藏某些元素。
你可以在下面看到一些实际效果。

闪电出现的地方被简化了,只有当闪电有动画而且可见时,闪电的形状才会出现。
值得一提的另一点是这些形状变得多么独特——在处理任何重复的东西时,不同的形状是一个祸根(我们在这里经常遇到这种情况)。有了不同的形状和运动,很容易锁定到图案上并看到假货——然而,尽管如此,由于我们随机分配每个段落的起始帧的方式,这在我们的案例中不是问题!
将所有这些部分放在一起,我们可以看到光束的最终结果。

剩下要做的就是:
- 为特斯拉炮塔的对应物、枪口闪光和命中效果准备特效。
- 缩小并调整光束以用作次级链。
- 对一切进行后处理。
然后我们在游戏中把它们放在一起,然后……好吧,我希望你会喜欢举办病态狂欢派对!

试图偷溜进俱乐部的虫子
--------------------
结论 ~ Earendel
根据你探索新行星的顺序,以及你有多想速通,特斯拉炮塔是你可能通关《太空时代》都永远用不到的东西之一。由于我们专注于删除不必要的内容,因此本可以从游戏中删除它,但我们并没有。它之所以存在,是因为它确实有一个明确的地位,如果你能用好它,它对游戏的其余部分总是有用的,如果 Fulgora 是你的第一个星球,它尤其有用。但是它还在游戏里的主要原因是,因为它太 TMD 酷了。

大家好,
现在该讲讲我在工厂报#399 中提到的那些“特斯拉物品”了。
--------------------
特斯拉炮塔(Tesla turret) ~ Earendel
在 Fulgora 上你学会了控制闪电,把它从危险变为电力。之后你又学会了制造更高级的电子元件,并且掌握了这颗星球的电磁研究包(Electromagnetic science pack),现在你终于可以进行下一个步骤了:把电力转换成闪电,解锁特斯拉炮塔。

图形:Jarosław;音效:Ian
特斯拉炮塔像激光炮塔一样,是一个电力炮塔。激光炮塔只占用 2x2 的空间,但是特斯拉炮塔要大得多,占用 4x4 的空间。特斯拉炮塔威力更强,但也会吃掉更多的电力。不止每次射击耗能更多,最小能耗也十分大。顺带一提,我们实际上减少了激光炮塔的最小能耗,因此这俩电力炮塔不同点更多,而且在不同的情况下更好用。
这台机器并不是一个简单地特斯拉线圈,技术上讲,它更像紧凑粒子加速器,发射质子束或离子束。一旦主光束击中了目标,因为它被强烈充能了,会产生次级闪电链,可以链接至周围的其它目标。
闪电链效果使得特斯拉炮塔在对付成群敌人时非常有用。
特斯拉炮塔每秒会造成 60 点伤害,挺不错。但是很难笼统地概括伤害,因为有些敌人弱电,而且科技会给伤害提供重大加成。还有,这只是对每个目标的伤害,闪电链可以链接十个次级目标,它们全都会受到全部的伤害。

就像其它炮塔一样,更高的品质提供更大的攻击范围。基础范围是 30 格,传说品质是 45。特斯拉炮塔比较特殊,因为品质也会提高分支出次级闪电链概率,从而可以击中更多目标。基础情况下,每次跳跃时都有 5% 概率分支,传说品质会提高至 30%。
不过伤害并不是这台炮塔唯一的焦点,它同样着眼于群体控制。闪电链会击晕目标,使它们停止移动一会,而在它们刚从眩晕中恢复过来的一段时间内,它们的速度会减慢。因此这台炮塔可以把敌人从你的东西旁边赶走,甚至还能在它们走近你的设施时中止它们的攻击。这台炮塔还能使敌人扎堆,辅助群体攻击,比如火焰炮塔和爆破火箭弹。此外,火焰炮塔会想要你把敌人锁在城墙外远处的。
这台炮塔比其它炮塔更贵,而且只能在 Fulgora 上制造,所以,至少一段时间,你不能到处用它。这台炮塔可以和其它炮塔的协同工作,因此最好在关键位置上放点特斯拉炮塔,这样防线被攻破时不会太难看。比如,重炮堡垒,这是一个早期用例。你应该知道吧,这里肯定会挨打,但是只需要一些特斯拉炮塔,情况就会大有改观。
此外,你也会解锁手持式特斯拉枪,需要弹药,但是除此以外跟特斯拉炮塔没什么区别。这把枪比其它手持武器更适合群体控制。跟特斯拉炮塔相比,它的闪电链更长一点,并且分支几率更高。

这把枪的伤害可能比不上其它武器,但因为额外的闪电链,只用这一把枪就能控制一群敌人。可以使用这把枪保你不死,然后用其它东西提高伤害,比如集束手雷、进攻无人机胶囊、激光防御模块。
--------------------
游戏设计 ~ Earendel
你们中的大多数应该已经知道了,我的模组《太空探索》里有一把特斯拉枪。这是最有名的武器之一,因为用着很有意思。
我总是想整一个炮塔版本的,但没找到过可行的办法。模组里那个手持版本的没问题,但这是因为最多就几个人会同时用这把枪。要是有几十上百个炮塔使用同样的效果,那用不了多久就得掉帧了,因为模组需要用 Lua 脚本搜索敌人,这样才可以计算出闪电链的每个节点的位置,就是这个脚本拖慢了游戏。
制作《太空时代》的第一个游戏玩法原型时,我只是把所有能想到的全做一遍,然后看看那些能用。我们知道要往游戏里加入一个电磁风格的星球,所以特斯拉炮塔非常适合。于是我就把特斯拉炮塔加上去了,它会在这个星球上解锁。但是老问题又来了,这个功能的引擎实现还不存在。最开始,这个炮塔只是发射进攻无人机的激光束,当然我计划要做一大堆新功能。
不像火箭炮塔那样,它显然发射火箭弹,特斯拉炮塔的效果或多或少是一张白纸。这就是说,它可以不只有伤害,我感觉还可以当一个辅助:正经塔防游戏里可以见到的那种。
短暂冲击眩晕,这个效果跟电力攻击挺般配的,所以这个效果成为了主要的非攻击特性之一。视觉上没多大冲击力,敌人只是停了一下。所以我试着添加了一个微弱的击退效果,这产生了巨大作用。只是稍微改变了它们的位置,看起来就像是被电到,抽搐然后跳开了,简直完美啊。机制上也跟眩晕巧妙地搭配起来了,因为更多地阻碍了敌人的移动。
--------------------
概念图 ~ Earendel

早期实验(第一版之前)
特斯拉炮塔的概念图有点难办,因为我有一大堆灵感想要使用,但它们却全都让设计变成了我想要避免的样子。设计流程充满了陷阱和细微差别。
- 总体结构的形状应当含糊地令人想起《命令与征服》里怀旧的特斯拉防线,但又不能太接近了。
- 在旧插件塔和新插件塔的设计之间有一个中间的版本,在工厂报#399 中讲解过。这个设计不是一个好的插件塔,因为跟它周围的机器相比太显眼了。那个时候有人说,它看起来像是个特斯拉炮塔。所以我想在特斯拉炮塔的设计中捕捉一部分这个版本的特征,但是问题是我们现在的插件塔也是基于这个设计的。
- 因此特斯拉炮塔不能看着太像现在的插件塔,这点很重要。它们有些相似之处,因为它们都是高电压系统,但是外观不应容易混淆。
- 特斯拉炮塔的设计需要表达出高电压和电效果,但它实际上不是万向特斯拉线圈,它是旋转炮塔上的质子束。也就是说,它需要一个炮口,旋转炮口之后才可以射击(就像其它炮塔一样)
- 特斯拉炮塔的设计需要表达出跟激光炮塔的联系,暗示它们属于同一家族,但看起来不能是放大的激光炮塔。
设计需要修订几个版本,因为 Albert,V453000 还有我在这些效果是否太多或太少方面有不同的意见。另外,从线稿中一般看不出某个东西是否太像另一个东西,但上阴影的版本中是显然的。我们在第一版之前做了许多调整,这些调整不太线性,所以没办法在这里展示出来,所以这里展示第一版的最终结构,后面我们认为它更像插件塔而不是激光炮塔。

概念图第一版。测试它是否适用于不同的玩家颜色。
最终版本是第三版。从第一版到第三版背后的主要目的是:
- 把洞再填满一点。
- 移除洞周围的“栅栏”。
- 添加像是激光炮塔的对角线支柱。
所有东西都是互相连接的,所以最后只有头部保持不变。

乍一看,新版可能除了高度以外没有任何不同,但如果仔细看,一旦发现了差异,就会发现一切都不同了。
所以最终的设计中包含:
- 一丝复古未来风格外观,但没有太多。
- 一丝第二版插件塔面貌,但没有太多。
- 一丝插件塔的高压地下电容组外貌,但没有太多。
- 一丝激光炮塔提示,通过对角线支柱和右下角绿色电容表示,但没有太多。
- 最后形状上,一丝特斯拉线圈感觉,同时看着又不像特斯拉线圈。

第三版的线稿,分配了材质。
设计的最后一部分是电束本身。进攻无人机的射线只在短距离内效果不错,长距离上说不上好。特斯拉炮塔应该拥有更有力的效果,但因为几种原因,最好能把主质子束跟闪电链分开。主电束要更亮,并且核心类似于激光,笔直发射,周围还要有电弧,相比之下闪电链没有笔直的光束,只是电弧而已。

使用现有段系统的主光束。为清楚期间,突出显示了重复的段。
--------------------
最终图形——电束传奇 ~ Jarosław
我刚开始制作特斯拉炮塔时,简直就纯纯度假。跟我通常制作的复杂项目相比,这就雕虫小技而已。模型的大部分工作都直截了当,平滑地过去了,这部分完美得无话可说。直到制作电束本身之前,情况都是这样的。在这里我把所有习惯的复杂性全都找回来了——尽管就算是最简单的任务,我也有能力而且也愿意过度设计,因此它可能要再复杂一点。
炮塔底座有许多电弧,在发射时会围绕炮塔移动,但炮塔空闲且有电时也是如此。这些弧线总是从结构上的一个点到另一个点。这种问题我们已经在蓄电器、插件塔和闪电收集器(lightning collectors)上解决一遍了。特斯拉炮塔上的电弧略有不同,但相同的方法奏效了,所以这些电弧没造成什么麻烦。
电束武器的电弧是另一回事,事实证明重现是一件奇怪的事情。它们的结构有限——它们从 A 点到 B 点呈弧形 (废话),但介于之间的一切都非常混乱而且无法预测,不过遵循一定的节奏。这是一种有结构的混乱,在搞错了什么时,这种混乱非常明显,因此很难复制。但是,还有一个更重要的复杂性——电束需要能够击中靠得很近和离得很远的目标,因此——应该能够缩放。
显而易见的起点是游戏中已经存在的放电束——一个简单而实用的结构。它的来龙去脉非常简单——我们拍摄一个循环动画,将单个电束分成 6 个不同的电弧,然后将其切割成 6 个部分,每个部分一个电弧。由于弧线的起点和终点都在同一点,因此我们可以根据需要多次重复这些段,以达到电束的必要长度,然后只需在两侧施加一点开始和结束效果即可。简单,容易,而且——不幸的是——当放大到特斯拉炮塔的大小时,非常不起眼。

其中一个问题——电束的冲击力——在某种程度上很容易解决。这个系统正在工作,只是需要更多的关注和照顾才能在大规模上看起来更好。对过程本身进行一些改进——以防止理智的丧失——也不是一个坏主意。另一个问题与我之前提到的有关——有结构混乱的概念。随着新电束的尺寸越来越大,射程更远,在屏幕上停留的时间更长,很明显,所展示的混乱只是一个仿制品,具有清晰可辨的——因此也是可预测的——结构。
简单地说,在像进攻无人机这样的小电束中,射程很低,它通常只重复一次(如果有的话),而且重复并不那么明显,因为波束的任何部分都不是很明显。对于特斯拉炮塔来说,光束很长,经常需要重复很多次,而且每一段都比较奢侈,所以重复更明显。光束的每一段都被锁定在相同的时间,以便它始终与它之前的线段匹配,但这意味着如果光束的那部分向左跳跃,那么完全相同的事情会在光束的多个点上同时发生,看起来非常不自然。有些事情需要改变,所以 Earendel,Vaclav 和我开始头脑风暴(我大部分时间都只是风暴),我们对系统提出了两个关键的改进。
对于第一个,每个弧段的长度增加了一倍,而间距却没有改变——这意味着大量的部分重叠。由于中央质子束用作基底或底座,弧线可能会变得更加疯狂,我们不需要关心它们如何将一个连接到另一个。此外,这种方法使分段看起来更自然,结构更少。不过,真正的问题是随机化的方法。一个明显的改进是使用随机片段,而不是按照从第一到第六的顺序使用它们并重复。然而,如果我在太空平台边界和平台枢纽的工作中学到了一件事——那就是随机数生成器之神确实存在,他们折磨的不是艺术家,而是设计师!没有什么能像在均匀偏移处重复几道相同的闪电那样,肯定地消除自然混乱的感觉了。
需要一种不同的方法——而 Earendel 提供了一个出色的方法。我们不是随机化我们使用的片段的顺序,而是随机化动画的偏移量。由于每个动画都会循环,因此从“结尾”开始它不是问题,而且电束的混沌性质意味着通常只需几帧偏移就足以将其与其他实例区分开来。

说完这些,剩下的最后一件事就是卷起袖子,进入技术部分。
我们以前用于电束的系统非常简单。它基于一个非常简单的带状形状,然后使用各种随机映射进行位移。如果你不懂 3D 图形,你可以把位移想象成波浪移动漂浮在湖上的丝带。尽管在我们的案例中,我们不仅有波浪,还有一场微型风暴以非常混乱的方式取代了丝带,从而产生了一种视觉效果,类似于电弧。可以使用钩子进一步调整色带的形状,钩子是可以“捏住和移动”弧中心的特殊物体——这些在下一步中将变得非常重要。

我们现在所拥有的是现有和新建筑中用于渲染电弧的东西——但对于更光荣的东西,比如特斯拉炮塔,我们需要走得更远。下一步是增加电弧典型的剧烈跳跃。我们可以使用钩子来做到这一点——但这需要大量的手动工作,因为尝试手动重建混乱通常是非常棘手和乏味的。取而代之的是,我决定创建一个新的变形系统,我以我通常的方式命名它:疯狂驱动器。
这些工作方式非常简单——我有一组随机旋转的对象(旋转器),然后是另一组读取旋转并将其转换为运动的对象(驱动器)。这个噱头在于 3D 图形感知旋转的方式——任何超过 360° 的旋转都会“重置”为零,并从那里继续。这意味着,如果旋转器在一个轴上旋转 2 圈,则连接的驱动器将在第一次旋转期间从 A 点移动到 B 点,然后“传送”回 A 点并再次移动到 B。现在,想象一下同样的情况,但旋转器以随机方式在所有 3 个轴上疯狂旋转——或者更好的是,在下面观看它的实际操作!

现在,将我们的钩子——它可以控制丝带——连接到驱动器上是一种非常简单的方法。这产生了足够的结果,尽管我确实必须通过手动调整钩子的位置来在这里和那里微调它们。我认为这一步只是一个轻微的调整,但事实证明它比我想的更重要——对设法放置的随机混乱的“人为干预”介于完全程序化和完全手动方法之间,所以这正是我想要的。

就像现在一样,无论疯狂驱动器如何猛烈地将它们推开,弧线都会保持在中央电束上。我想解决这个问题,并在某些地方“切割”弧线,给人一种弧线从电束上撕裂的错觉。不过,完全以这种方式做到这一点将需要做很多工作——将弧线的末端移开和移回会影响已经到位的许多其他事情。那时我决定寻找一点“作弊”——这就是有选择地将丝带从末端缩小到它“消失”的一点。从技术上讲,弧线仍然从 A 流向 B,但从视觉上看,由于它承载的功率大,它猛烈地从光束上撕裂开来。

有了主弧线,我想重用这个系统来创建更多、更小的弧线。我对以前使用的缩小技巧非常满意,并想对较小的闪电使用类似的效果......只是在更大的范围内。我想出的解决方案是使用一种称为“背面剔除”的方法——通俗地说,这意味着我使丝带的背面不可见。由于丝带被位移的微型风暴抛来抛去,它会扭曲和旋转很多——如果我们只画它的正面,它就会非常好地支持视觉效果!

在那一刻,我对这些效果非常满意,但有一件事让我印象深刻——组合后的效果非常动态和激进,但缺乏方向性。它似乎只是“坐在那里”,而不是直接向目标提供集中的自由电流。这就是为什么我最终添加了第二层次级弧,这次是高速向光束的末端移动。尽管这些是微不足道的,就算故意找也很难发现,但这足以欺骗大脑感知这些微妙的运动,而不会太明显而压倒其它视觉效果。

有了所有这些系统,我只想把最后一块拼图落到位——闪电分支,从更明显的弧线中分裂出来。还记得我曾提到过调整弧线以行进到不同的点 B 将是一项艰巨的工作吗?嗯,确实如此,因为这些闪电是手工添加的,并逐帧调整以适应动画的其余部分。即使只有其中的几个元素,移动元素的数量也增长得非常快,我需要寻找方法来保持我的理智,通过自动化我的工作空间本身——确保仅在必要时绘制或隐藏某些元素。
你可以在下面看到一些实际效果。

闪电出现的地方被简化了,只有当闪电有动画而且可见时,闪电的形状才会出现。
值得一提的另一点是这些形状变得多么独特——在处理任何重复的东西时,不同的形状是一个祸根(我们在这里经常遇到这种情况)。有了不同的形状和运动,很容易锁定到图案上并看到假货——然而,尽管如此,由于我们随机分配每个段落的起始帧的方式,这在我们的案例中不是问题!
将所有这些部分放在一起,我们可以看到光束的最终结果。

剩下要做的就是:
- 为特斯拉炮塔的对应物、枪口闪光和命中效果准备特效。
- 缩小并调整光束以用作次级链。
- 对一切进行后处理。
然后我们在游戏中把它们放在一起,然后……好吧,我希望你会喜欢举办病态狂欢派对!

试图偷溜进俱乐部的虫子
--------------------
结论 ~ Earendel
根据你探索新行星的顺序,以及你有多想速通,特斯拉炮塔是你可能通关《太空时代》都永远用不到的东西之一。由于我们专注于删除不必要的内容,因此本可以从游戏中删除它,但我们并没有。它之所以存在,是因为它确实有一个明确的地位,如果你能用好它,它对游戏的其余部分总是有用的,如果 Fulgora 是你的第一个星球,它尤其有用。但是它还在游戏里的主要原因是,因为它太 TMD 酷了。