Unity学习shader笔记[二百]仿马赛克效果碎片画思路

最近看到个场景的图片,对他的生成有点兴趣,就想了解。

清晰的画面经过后处理后变成这种。思路和马赛克基本一样。

美术处理

这种图片处理 本身ps就有,美术方便的话,可以让美术给图,然后给出的网格里面uv分布是0到1,每个网格都是他覆盖里面的uv的随机取值。这样就生成了一个网格状的uv碎片分布图。

采样的时候先采样这张图然后采样的颜色作为uv再去采样主图就得到类似的效果。

如果需求是在运动中的,那么美术方便的话,也是可以让美术出和连续运动的图的,看起来连续就行。只是每个图的uv是要随着他的运动,一直采样他覆盖的范围的某个地方的uv。否则会出现右上角的格子运动到左上角的时候采样的还是右上角的uv。这样看起来是整个格子图片往左移动了一样。

这里可以多备几类这样的运动序列图。来实现每次运动的时候运动的趋势和上次不同。

有了美术支持,熟手shader基本没难度

实时计算

美术处理实际上可以覆盖了大多数需求情况。

但是如果要求每次动态网格运动的时候,不能重复之前做过的任何运动趋势。或者要节省下载或者运行内存或者硬盘容量等, 就要实时计算了。这时压力给到了GPU。

实时计算主要是怎么构造网格,和网格所对应的uv。可以把ps里面的计算搬到unity

自己思考了好久,几个方法都某个步骤无解了,后来感觉是图算法的一种,找了一遍没找到。问GPT具体举例。

csharp 复制代码
一个长方形的面片用什么算法,使得其破碎,但是每个碎片的大小差不多,都是有四到六条边的凸多边形

后看到英文想起沃洛诺伊是shader常用的一个噪声算法。 参考 罗诺伊图(Voronoi):迷人的世界【1/2】

形状生成了 后面都好办了。

相关推荐
01100001乄夵8 分钟前
第六课:仿真进阶与调试技巧
经验分享·笔记·学习方法
kanimito23 分钟前
大语言模型入门指南:从科普到实战的技术笔记(2)
人工智能·笔记·语言模型
Bin二叉27 分钟前
南京大学cpp复习——面向对象第一部分(构造函数,拷贝构造函数,析构函数,移动构造函数,友元)
c++·笔记·学习
爱奥尼欧27 分钟前
【QT笔记】常用控件——QWidget 核⼼属性
数据库·笔记·qt
摇滚侠35 分钟前
Vue 项目实战《尚医通》,获取挂号医生的信息展示,笔记43
前端·javascript·vue.js·笔记·html5
智者知已应修善业1 小时前
【proteus数电74LS175+74LS48抢答器仿真扩展为矩阵键盘16路】2022-9-1
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
xhyyvr1 小时前
解码大地的预警 —— VR地震起因及先兆学习系统
学习·vr·vr公共安全·vr公共安全体验馆·vr地震·vr地震起因先兆·vr地震模拟平台
Amber_371 小时前
php的数组和python的列表 -- 横向对比学习
python·学习·php
LBuffer2 小时前
破解入门学习笔记题四十七
java·笔记·学习
可可苏饼干2 小时前
TOMCAT
java·运维·学习·tomcat