查看: 2599|回复: 10

[资源] 【CTF】自制 & DX11 修复特效合集

[复制链接]

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

发表于 2020-3-20 22:49:58 | 显示全部楼层 |阅读模式
本帖最后由 dasasdhba 于 2020-4-9 11:40 编辑

前段时间 WSW 说 Crop 特效在 CTF2.5+ 的 DX11 上炸了
我看了一下 F1,DX11 特效用的是 HLSL 编译得到的 fxc 文件,在 Effects 目录下有源文件.hlsl
然后去翻了一下 Clickteam 论坛:https://community.clickteam.com/threads/105504-Converting-DX9-shaders-to-DX11
根据上面这个帖子,看了一下 CS_Crop.hlsl,发现确实有问题,然后我给改好了(

                               
登录/注册后可看大图

但还要编译成.fxc,这就涉及到编译工具,然后我特么还去装了 VS
搞了半天总算编译出来了,经测试正常,hlsl 和 fxc 我打包到我永硕了:
http://dasasdhba.ys168.com/
需者自取

如果以后还有啥特效炸了的话,然后你又不想改啊装个 VS 啥的,反馈到这里我尽量帮忙(


评分

参与人数 1经验 +3 硬币 +2 收起 理由
无视我233 + 3 + 2 好诶!

查看全部评分

Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2020-3-21 17:24:36 | 显示全部楼层
本帖最后由 dasasdhba 于 2020-3-21 17:25 编辑

研究了一下,在非 premultiplied 模式下
CTF 内的图像的 RGBAlpha 值是分开的,在最后渲染的时候一起应用
这个时候 CTF 丢给 Shader 的也是 RGB 值和 Alpha 值分开的
而在 premultiplied 模式下
一开始 RGB 值就会与 Alpha 值相乘,然后渲染 RGBA
这个时候 CTF 会把 RGBA 值和 Alpha 值丢给 Shader
注意是 RGBA 值,于是有些没有做调整的特效就炸了
我实验了一下,要 Color.rgbColor.a 同步变化才行
当然更多特效炸掉的原因是没乘上 In.Tint 然后就全黑了(Clickteam 傻贲)

值得一提的是
官方给出的做法是在 Shader 输入的时候先除去 Alpha 值
然后再做原来的变换算法
最后再乘上 Alpha 值,返回给 CTF 的仍然是 RGBA
这也是我昨天的做法,但说实话这不是更慢了吗(

至于为什么非 premultiplied 模式会出现一些神奇的现象
这个就要去问 Clickteam 了
所以我今天又重新改了一下 Crop,之后打算再改点其他的

我大概看了一下,有大量的 In.Tint 漏乘现象
此外,几乎所有特效的 premultiplied 模式都是用的 CTF 官方给出的神奇方案(
更神奇的时候我编译这个模式的时候,

                               
登录/注册后可看大图

所以 Clickteam 是怎么编译出来的(
Moonstruck Blossom
个人网站:dasasdhba.github.io

145

主题

1129

回帖

12

精华

管理员

脚滑王

经验
7683
硬币
542 枚

永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第十一届MW杯冠军欢乐演员对不起,小姐

发表于 2020-3-21 22:41:49 | 显示全部楼层
tql...drl...
总之感谢
个人网站wsw233.com
新作 AUEV0.5.0 制作中!
解说/版聊视频随缘更新!

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2020-4-9 11:46:39 | 显示全部楼层
最近从小伙伴那里听说 StandardAND OR XOR 特效不能在 DirectX 上用
于是我照着“字面意思”自己写了个,dx11 下效果正常,但 dx8/9 报编译错误
仔细一看,dx8/9 没有 '&' '|' '^' 运算???????????????
没事,咱自己写个函数

                               
登录/注册后可看大图

CTF 傻贲
行行行,那咱支持 dx11 又不是不行,下载地址见我永硕
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2020-4-9 12:06:00 | 显示全部楼层
顺便再传两个之前自己做的特效,反正自己存着也没用
HSV:像 Photoshop 一样调整色相 饱和度 明度,由于各种不明原因只能在 dx11 上用
Crop_Rectangle:与 CS_Crop 功能相似,但这个特效是指定一个矩形区域
下载地址还是我的永硕
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2022-5-14 13:24:19 | 显示全部楼层
本帖最后由 dasasdhba 于 2022-5-14 13:31 编辑

新增描边特效,仅描边那些不透明度高于 0.5 的区域,支持调整大小(仅限 dx11)
平滑度最大值目前只有 64,如果电脑特别好的话可以改源文件把最大值调高点再编译((
注意部分 CTF 好像自带一个跟我这个特效同名的但是在 dx11 已经炸掉的 Outline.fx,记得覆盖或者删掉
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2022-10-16 23:53:32 | 显示全部楼层
本帖最后由 dasasdhba 于 2022-10-23 00:41 编辑

从 Godot 的开源 Shader 里面转了个激光特效出来(其实就是 GLSL→HLSL)
https://godotshaders.com/shader/energy-beams/
效果大概这样:
激光.gif
动画效果需要手动写事件让 Animation 参数(fA)自增
然后这个其实最好搭配 Add 用
(在 CTF 里面就是单放一个图层然后给这个图层加 Add)
特效名为 Laser,有需要的可以拿去玩一玩(

Update:新加了 Length 参数(fL)方便使用

顺便也传了几个之前做的但是没发的:
RGB Separate
Line(端午-4 的效果)
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2022-10-23 00:26:11 | 显示全部楼层
本帖最后由 dasasdhba 于 2022-10-23 00:35 编辑

受wsw的smooth_outline以及一个开源shader(https://godotshaders.com/shader/smooth-outline-2d/)的启发重新做了一个更平滑的描边效果,效果大概这样:

                               
登录/注册后可看大图

如果调低 fAlpha 参数,也能得到发光效果:

                               
登录/注册后可看大图

fSize参数取值为0~8,仅支持dx11

特效名为 Glow Outline,已上传至永硕
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2022-12-8 21:54:56 | 显示全部楼层
利用最近所学,我优化了 HSV 特效,使得新版没有使用任何 if:

                               
登录/注册后可看大图

下载地址不变。
Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 2023-2-19 14:15:15 | 显示全部楼层

                               
登录/注册后可看大图

新增(纸面)圆柱效果

评分

参与人数 2经验 +6 硬币 +4 收起 理由
绿色的糖果 + 3 + 2
无视我233 + 3 + 2 惊了!

查看全部评分

Moonstruck Blossom
个人网站:dasasdhba.github.io

26

主题

502

回帖

12

精华

版主

经验
5367
硬币
704 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

 楼主| 发表于 前天 18:47 | 显示全部楼层
新增 Gradient Fill,用于制作渐变,支持 0~90 度方向,支持透明度参数
dx11 支持 8 种颜色,dx9 支持 6 种颜色(算力限制)

                               
登录/注册后可看大图

制作此特效的契机是 CTF 自带 quick backdrop 在开启 dx11 并使用非常规高度的情况下效果会与预期严重不一致
而「Active Gradient object」即便没有此问题但使用起来仍然会有诸多不便
顺带一提我用的是三次插值,因而得到的渐变也不是线性渐变, 会有一定区别

作为 Effect 也顺便支持叠加到原 Texture 上(关闭 Overwrite),因此用途应该更广泛。
Moonstruck Blossom
个人网站:dasasdhba.github.io
您需要登录后才可以回帖 登录 | 创建账户

本版积分规则