季节变化显示效果


10

我在观看《秋天后的季节预告片,而他们在各个季节之间过渡(约21-24秒)的效果令我震惊:

显示动画效果的动画

包括背景和前景平台在内的关卡艺术从棕褐色的秋天变成了薰衣草的冬天,效果从玩家角色向外扩散,有点像水浸在纸上。

看起来不仅是调色板发生了变化,因为树叶和树皮图案的细节在过渡过程中也发生了变化。

在2D Unity游戏中,如何实现类似的效果?

Answers:


12

实现此目的的一种方法是使用Alpha贴图在两个背景之间混合。一种简单的方法是呈现“后”(隐藏)背景,然后呈现“前”(最初可见)背景。使用前背景的Alpha通道或单独的Alpha纹理来控制前背景的透明度,就像处理任何透明或半透明Sprite一样。如果此Alpha贴图小于1,则背景的一部分将显示出来。

然后,只需根据您想要的效果构建该Alpha贴图即可。在您展示的视频中,看起来这样的地图是采用“绘画”方式构建的。这可能涉及随机放置零alpha的圆(在其边缘处羽化为1.0 alpha)。开始将这些圆圈紧紧围绕显露的原点倾斜,并随着时间的流逝放松该偏斜,使其向外散开。在执行此操作时,您可能还需要扩大圆的半径。

您可以根据需要调整此方法,以根据您的需求调整效果。例如,普通的圆圈可能看起来有点太“斑点”,而您可能想将随机选择的预先创作的“画笔描边”标记在蒙版中。即使是随机放置本身也可能看起来有些混乱,您可以选择沿某些预先编写的曲线或样条冲压Alpha蒙版以突出显示特定样式。


糟糕,看来您在同一时间输入的答案非常相似。^ _ ^; 道歉的重叠。
DMGregory

多谢您的回覆,我会尝试一下,并回复您的工作原理!再次谢谢您
杰西卡·斯通

您也可以手工绘制四个或五个过渡,并将旋转随机化一点。我怀疑有人会在这种快速且最坏​​的情况下,在旋转和水平缩放的情况下玩游戏。
基金莫妮卡的诉讼

抱歉,再次打扰,但是我想知道您是否可以详细说明一下,因为我正在自己测试它,但它有点笨拙,我也无法使其透明。再次抱歉造成麻烦,谢谢您!
杰西卡·斯通

听起来好像很多事情在那里可能是错误的。我真的不能帮助您在这里调试它,但是游戏开发聊天室中的某人可能可以,有时您也可以在那里找到我。

7

我会在SpriteRenderers上使用自定义着色器来实现此目的,该着色器具有两种纹理,每个要在其间进行转换的版本均具有一种纹理。

(即使使用此效果在两个以上的状态之间进行转换,我仍然会尝试构建游戏的结构,因此我们一次只需要两个即可进行渲染:旧状态和下一个状态。我们将让该过渡进行完成之前,我们需要让玩家启动向第三状态的过渡,此时我们可以替换以前的“旧”状态,因为它不再可见)

此着色器将使用第三个单通道纹理作为效果的蒙版在两个纹理之间进行淡入淡出(例如,黑色= 100%旧状态,灰色= 50/50混合,白色= 100%新状态)。我会在屏幕空间中映射此蒙版纹理。

然后,我将设置第二个相机以渲染到RenderTexture,以生成此蒙版。第二个摄影机将与我的主摄影机一起移动并匹配其FoV /正射影像大小,因此我认为任何动画都适用于整个世界,并始终显示蒙版。该摄影机将在我的主摄影机之前渲染,并且被设置为仅查看特别指定的“显示”层上的内容。在视频示例中,看起来他们使用粒子系统将少量的云形状喷溅到此显示纹理中,并随着时间的推移而扩展,从而使过渡具有有机的扩展边缘。


多谢您的回覆,我会尝试一下,并回复您的工作原理!再一次谢谢你!
杰斯卡·斯通
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.