Skip to content

大家族-屏幕快照

相关插件

相关插件:(静态屏幕快照/静态快照)

◆Drill_PictureSnapShot 图片 - 临时屏幕快照

◆Drill_AnimationSnapShotEffect 动画 - 屏幕快照的眩晕效果

相关插件:(动态屏幕快照/动态快照)

◆Drill_CoreOfDynamicSnapshot 游戏窗体 - 动态屏幕快照核心

◆Drill_HtmlDynamicSnapshotBackground 游戏窗体 - 天窗层的多层背景

◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈

◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照

◆Drill_HtmlDynamicSnapshotSpaceWrench 游戏窗体 - 动态快照次元斩

屏幕快照分为静态和动态。

虽然功能相似,但二者底层逻辑区别很大。

详细介绍可以去示例中 特效管理层 去看看。

也可以了解下次元斩的制作:设计对游戏画面的次元斩(一刀)

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

基本结构静态屏幕快照 动态屏幕快照 天窗层
效果设计静态快照 - 反色效果 静态快照 - 粉碎效果静态快照 - 眩晕效果 动态快照 - 多屏幕效果

插件关系

插件之间的关系如下:

屏幕快照

定义

1)静态屏幕快照

静态屏幕快照: 指将当前游戏屏幕的图像进行存储,并放置到一个贴图中。

屏幕图像截取后,不会再变化。

一般的屏幕快照都是 静态屏幕快照,也称静态快照。

2)动态屏幕快照

动态屏幕快照: 指建立一个新的渲染快照,将当前游戏屏幕复制到一个贴图中。贴图的图像 与 游戏屏幕的图像 一模一样,并且实时变化。

动态屏幕快照也称动态快照。

3)天窗层

天窗层: 指在整个游戏画面之上的特殊层级,比最顶层还高。

只有天窗层才能使用动态快照效果。

战斗界面、地图界面、菜单界面,全都具备天窗层。

因此动态屏幕快照可以对所有界面都有效。

由于天窗层太高了,静态屏幕快照也无法捕获到天窗层的贴图和图像。反之,天窗层的动态快照、背景等,也无法接触到 最顶层、图片层等 这些下层对象。

效果

1)平移/旋转/缩放/修改透明度

静态快照和动态快照都具备 贴图的 平移/旋转/缩放/修改透明度 等基本功能。

静态快照通过对图片的变化即可进行操作。

动态快照通过下面的插件指令进行操作。

2)动态快照的遮罩

注意,动态快照的遮罩,不会因为动态遮罩的平移而一起平移。

遮罩与游戏窗口的位置始终保持一致。

通过这种性质,可以实现两个动态快照与遮罩的产生的位移差效果。

屏幕快照设计

静态快照 - 反色效果

1)示例位置

详细效果可以去看看 特效管理层,图中的事件。

2)设计思路

先建立一个空图片,绑定 静态快照;

使用图片滤镜对图片进行反色;

让玩家瞬间传送;

再控制静态快照缓慢消失即可。

静态快照 - 粉碎效果

1)示例位置

详细效果可以去看看 特效管理层,图中的事件。

2)设计思路

先建立一个空图片,绑定 静态快照;

对图片进行方块粉碎(慢速粉碎)即可。

具体粉碎配置去看看“1.系统 > 大家族-方块粉碎.docx”。

但注意,粉碎结束后需要手动复原,可以通过并行事件进行复原处理。

静态快照 - 眩晕效果

1)示例位置

详细效果可以去看看 特效管理层,图中的事件。

2)设计思路

此效果直接通过下面插件实现:

◆Drill_AnimationSnapShotEffect 动画 - 屏幕快照的眩晕效果

该插件能直接设置眩晕效果变化的样式,并且能绑定到技能,释放技能时播放一次眩晕效果。

动态快照 - 多屏幕效果

1)示例位置

详细效果可以去看看 特效管理层,图中的事件。

2)设计思路

此效果需要先配置动态快照,然后通过插件指令控制显示即可。

从零开始设计(DIY)

设计对游戏画面的次元斩(一刀)

1. 设置一个目标

2023年6月12日,作者我看到很多维吉尔的power视频。

写插件时,发现动态快照能够实现几乎一模一样的功能。

只是,虽然原理实现了,但是工作量却大的可怕,维吉尔切一刀,画面就有两份,切三刀,就有八份……再多切几刀,数量数不清了。

总之先做一刀的,后续在考虑更高级的。ヽ(#`Д´)ノ

此设计为手动配置,即使用 天窗层动态快照+天窗层背景+天窗层魔法圈 制作出来的一刀效果。作者我后续基于此原理,制作了自动配置插件,即使用 插件指令 自动生成次元斩。你可以直接见后面章节(8. 次元斩插件自动配置),但最好了解下整体设计原理。

2. 结构规划/流程梳理

建立一个动态快照层,层的设置中支持遮罩。(可见:2)动态快照的遮罩

可以通过 动态快照+遮罩,制作一块不规则的碎片,来模拟被切割后的碎片。

3. 准备贴图

首先,用到了下面两个插件:

◆Drill_HtmlDynamicSnapshotBackground 游戏窗体 - 天窗层的多层背景

◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照

在文件夹img/Special__layer/ 中,准备背景资源和遮罩资源。

其中,背景要准备:

幕布,用于出刀时,闪一下。

次元斩背景,用于表示切割的痕迹线。

然后,动态快照层要准备:

两个遮罩,表示切出来的两半碎片。

(注意,遮罩白色为显示的部分,遮罩黑色、遮罩透明的都为被遮挡的部分)

如果是切两刀,那么就需要四片遮罩。(切更多则需要准备更多遮罩)

4. 参数配置

如下图,配置切割后的 左半边和右半边。

动态快照整体稍微放大一点,设置缩放1.05。

然后,设置左半边和右半边的坐标平移,形成位移差。

最后添加插件指令显示即可。

(动态快照和天窗层的背景只能通过插件指令设置显示出来。)

5. 测试效果

然后进入游戏测试,

可以看到设置不同的位移后,两个动态快照看起来像是切割过的镜片一样。

6. 细节调整

由于动态快照层的平移、改位置都不会影响遮罩位置。(可见2)动态快照的遮罩

所以这里通过ps将右遮罩资源的图像整体向右移一像素,然后用黑色补齐。

再进入游戏,就能看到两个遮罩都没遮挡的部分(一根白线),

即次元斩的白背景部分。

另外,注意修改图片层级的顺序。

白背景 需要在下面,动态快照在中间,幕布背景 需要在上面。

(背景层默认图片层级为4,动态快照的默认图片层级为10)

最底层的就是游戏画面。但由于 动态快照 能代替游戏画面,所以用不透明的白色背景盖在最下面是没问题的。

7. 动画效果设计

接下来,还需要绘制一个刀光的动画效果。

如下图,准备了刀光素材。

刀光在魔法圈中配置,然后平移。

◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈

注意,你只能使用天窗层的对象进行操作,因为天窗层太高了,在界面之上,界面中的任何贴图都无法接触到天窗层。可以去看看前面章节介绍:天窗层

为了确保刀光与切角重合,打开ps,画一条矩形,然后旋转矩形,

获取到倾斜角为 -74.6度。

确认角度后,接下来要确认刀光的起始位置。

使用钢笔工具,拉出与黑白交界线相似的延长线,

然后测出矩形的高宽以及延长点的坐标位置。

经过手动坐标计算后,得到并设置魔法圈的初始位置:574,-440。

同理,往下再作延长的线,然后算出从起点到终点的矩形差。

从右上角的点,到左下角的点,x需要-440左右,y需要+1511左右。

最后通过插件指令,控制刀光快速移动即可。

根据游戏测试的实际平移情况,再微调位置,确保刀光能切到两碎片的交界处。

当前的刀光动画效果需要添加魔法圈,然后自己手动算坐标,非常麻烦。后续可以直接使用 次元斩插件 ,插件内部经过数学计算快速算出坐标。

除了刀光,还需要控制播放闪烁的背景。

使用白色幕布,透明度为200左右即可。(不要全白,全白比较闪眼睛)

插件指令控制刀光时,也同时用插件指令让白色背景闪一下。

由此,次元斩的一刀的效果完成了。

注意,动画特效都必须在动态快照的上面,所以要注意图片层级不要低了,如果刀光和闪烁都在动态快照下方,那么你将看不见任何动画效果。

8. 次元斩插件自动配置

上述的介绍为手动配置的全过程,接下来介绍自动配置。

根据上述操作流程,作者我改进并编写了下面的插件,能实现快速切割的功能。

Drill_HtmlDynamicSnapshotSpaceWrench 游戏窗体 - 动态快照次元斩

插件中,样式需要配置 切割白背景、切割白闪烁、刀光 的资源图片即可。

通过插件指令规划切割的线段,即可实现次元斩的切割。

如下图,插件轻易实现了3刀7块碎片的切割效果。

比手动配置节省了不少工作量。

设计动画转场

魔法圈、动态快照 也可以通过变换,实现转场动画效果。

示例中 特效管理层 介绍了 平移、旋转、缩放、斜切 的变换功能。

并且,动画转场效果在示例中 动画转场管理层 也有设计介绍。

可以去看看:“16.图片 > 特效设计-动画转场.docx”。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史