找回密码
 立即注册
查看: 178|回复: 0

旧日志 2023-3-30 Metaballs二维元球融合效果实现(附带基于距离场与改版Metaballs实现的破碎类效果)Substance Designer

[复制链接]
发表于 2024-7-15 18:24 | 显示全部楼层 |阅读模式
详细记录分歧效果器的诞生历程供有需要的人使用。
补充之前未更新的内容2023-3-21 metaballs二维融合效果实现。
-----------------------------Metaballs二维融合效果----------------------------------
附带一个启发链接,便利理解元球的道理,因为像素措置器里搭建是纷歧样的。



metaballs函数

过程:(在进行元球搭建的过程中,寻找资料和样本测试,发现元球的道理和黑滴效应的道理很像(这也让我在sd内搭建元球变得更加的轻松),当然后者为半影重叠,而前者则是类似势的概念(某一点的势能为每个Metaball对它的势的叠加(来自启发链接)))
1. 通过input 0/1 采样用于融合的图像并减去特制的坐标。
2. 进行计算的图像不能是二值图,SDF图或者除圆之外其它形状且均匀渐变的灰度图,因为在内部要再进行一次距离计算,若是使用SDF图或者含有过多灰度信息则会导致完全错误的计算,所以若要进行除了圆之外的形状的融合则要进行bevel或者平滑一类边缘措置的操作(不管什么形状如果是纯二值图在后续的计算是无法与坐标一同进行距离计算的)。
3. 随后直接合并成vec2进行距离计算即可,计算XY两个通道的每一个像素到(1,1)点的距离,随后0.55除以生成的距离图再相加(此处重点没说这是sdf,我曾在SDF生成算法一文中说过,像素措置器不撑持逐像素计算,这是和特制的坐标一同计算出来的图)(启发的文章中将这种图的边缘称作能量,也就是两个图像相接触的部门,就称作能量图吧)0.55这块的数值可以进行独霸,但0.55是效果上最好的数值,这会影响能量图本身扩展的范围。
4. 相加后在两者能量图相接触的时候,重合部门叠加,叠加部门与中心等值,但交叉部门并不包含周围非重合部门,这样便发生了类似吸附的感觉(黑滴效应也是如此类似),最后再Step输出融合后的二值图像。
(补充:函数图中的input 2是在制作过程中,为了绕过uv坐标被同时计算而出格制作的坐标图(当时默认距离计算完后左上角有出格大的白斑,所以直觉认为将坐标复制一份对称再合并,竟然问题就这样解决了(惊讶))),而且这样的坐标在与图像进行相减操作时也并不会出格影响形状。)
metaballs详解完毕,以下是上诉所需的素材,看图更加直不雅观一些。



0.55/距离之后的能量图,能量边界订交处等值融合



能绕开像素措置器的特制坐标



Metaballs节点组


metaballs效果实现一览
https://www.zhihu.com/video/1624950020804857856

----------------------------附带的破损效果器--------------------------------------
破损效果器的核心是Metaballs函数的改版,此核心和上述metaballs函数又分歧了,此处并未使用特制坐标进行距离计算绕过,使用坐标进行的计算,而且此处使用的是距离场和灰度图,而metaballs并不能使用(此中距离场只是为了提供二值转灰度,便利进入核心运算,直接使用灰度图也是可行的,并不像视频中一堆节点组。)
(补充:此处的函数有一个重要的改动就是彼此计算距离,而不是计算到1的距离)

第一版
https://www.zhihu.com/video/1624954720593936384




metaballs改版函数

过程: (以下是又臭又长的诞生过程)
陶协Unreal 11:33:14
实现了一个有用但还需要优化的效果器
陶协Unreal 11:33:15

样本测试1
https://www.zhihu.com/video/1624918067703693312
陶协Unreal 11:33:39
基于距离场
陶协Unreal 11:43:57
二次优化成果
陶协Unreal 11:44:17

样本测试2
https://www.zhihu.com/video/1624918211597615105
陶协Unreal 11:44:23
这个如果迭代多了计算量太大了,所以用一两层基本上够了
陶协Unreal 11:46:03



Tile破碎测试

陶协Unreal 11:53:27
平铺测试
陶协Unreal 11:53:31

样本测试3(平铺类图案测试)
https://www.zhihu.com/video/1624918573934936064
陶协Unreal 12:00:10



Tile测试



tile测试2

陶协Unreal 12:03:01
你们本身魔改
陶协Unreal 12:04:51
今天主要是俄然想到上一次做metaballs不是用的圆球吗,昨天群里在讨论什么tile,我睡觉俄然想到这个东西为啥不测验考试把圆球换成正方,这样tile不就可以动态了吗
陶协Unreal 12:40:03

样本测试4(破碎效果测试)
https://www.zhihu.com/video/1624918990224138240
陶协Unreal 13:55:26
基于刚才的东西做的边缘破损器
陶协Unreal 13:55:29

边缘破碎效果测试
https://www.zhihu.com/video/1624919154078773248
陶协Unreal 13:55:37



边缘破碎效果图一览



其余的样本测试

(整体而言应用场景还是相对局限且存在问题的,长处是图案间可影响并发生新的图案)
-----------------------最后补充内容----------------------
在metaballs的搭建过程中按照黑滴效应道理和SDF图实现的融合效果(这种融合效果会自带棱角)
(见演示)



基于黑滴效应与距离场的二维融合效果


基于黑滴效应与距离场的效果一览
https://www.zhihu.com/video/1624956560580472832

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 18:03 , Processed in 0.099210 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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