Unity Shader 实现PS图层混合效果
一直在研究Unity的shader一些效果,最近先研究在2D图片上的一些效果。
PS中的图层样式有很多种,无非是由滤色和正片叠底两种图层样式演变而来。

PS中的滤色
原理:首先把两层图像的像素值取互补数,然后将它们相乘,最后再去互补数。这和正片叠底得到的结果是相反的。它会得到一个更亮的图像。
算法:

效果:
原图:

滤色效果:

PS中的正片叠底
原理:就是把两层图像的像素相乘,最后会得到一个更暗的图像。这个模式是对称的,也就是说交换基色和混合色得到的结果是一样的。

算法:
效果:
原图:

正片叠底效果:

PS中叠加
原理:结合了正片叠底和滤色两种混合模式。基色中亮色的部分会更加亮,而暗色的部分会更暗。
算法:
原理:
叠加效果:

外轮廓描边
原理:利用一些边缘检测算子对图像进行卷积操作,卷积的操作指的是使用一个卷积核对一张图像中的每个像素进行一系列的操作,对于图片要是一张背景透明的
原图:
效果:

Unity Shader 实现PS图层混合效果相关推荐

  1. Unity Shader 之 简单 护盾Shield 效果的实现

    Unity Shader 之 简单 护盾Shield 效果的实现 目录 Unity Shader 之 简单 护盾Shield 效果的实现 一.简单介绍 二.实现原理

  2. Unity Shader学习:Dissolve消融效果

    Unity Shader学习:Dissolve消融效果 消融效果在游戏里非常常用,这里简单的实现下,代码里用到了if分支在shader里可能会费一点,如果想直接用puppet_master大佬版本的话 ...

  3. Unity shader学习之屏幕后期处理效果之高斯模糊

    高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...

  4. Python: PS 图层混合算法汇总

    本文用 Python 实现了PS 中的图层混合算法,把很多常见的图层混合算法都汇总到了一起,比起以前写的算法,就是用矩阵运算代替了很耗时的for 循环,运行效率有所提升.具体的代码如下: import ...

  5. Unity Shader动画-做捕鱼达人效果

    本篇将介绍向Unity Shader中引入时间变量,以实现一个顶点动画和一个UV动画的效果. 捕鱼达人效果 内置时间变量 1: float4是内置向量 (x, y, z, w); float4 a; ...

  6. unity Shader模拟ps渐变映射效果

    美术要求程序实现一个类似photo中"渐变映射"的效果. 记录一下用unity完成的shader. 放一张路易斯 那么渐变映射的原理是什么?以下是百度的结果: 在使用时,渐变映射首 ...

  7. 【Unity Shader学习】边缘泛光效果

    Shader "Sbin/Rim" {Properties{_Scale("Scale",Range(1,8)) = 1}SubShader{// 通过标签对透 ...

  8. 【Unity Shader】聚光灯体积光效果的简单实现

    效果如下: Unity中的聚光灯SpotLight,可以用作手电筒,射灯等类似的效果,比如这样的 但是如果想把光束的效果做出来,就超出了SpotLight的能力范围了,本篇就为了记录一下一种简单的实现 ...

  9. Unity shader 角色消失 溶解 隐身 效果

    先上两张效果图 实现原理 一句话总结: 空间中有一个隐形的面,判断模型上和面的相对位置,根据需求隐藏上方或者下方的点. 原理就这么简单,具体怎么实现呢,首先确定数学几何中平面的性质:原点到到面上任意一 ...

  10. PS图层混合算法之六(差值,溶解, 排除)

    差值模式: 查看每个通道中的颜色信息,比较底色和绘图色,用较亮的像素点的像素值减去较暗的像素点的像素值.与白色混合将使底色反相:与黑色混合则不产生变化. 排除模式可生成和差值模式相似的效果,但比差值模 ...

最新文章

  1. Node.js复制/删除服务器端文件到指定目录文件夹下,并且预判是否存在该目录,如果没有,则递归创建该文件夹目录
  2. 面完字节跳动,才知道自己的数据结构与算法有多薄弱...
  3. BGP、MPLS是怎么组合到一起的?
  4. 十大经典排序算法总结(够兄弟们喝一壶的)
  5. 20100519 学习记录:asp CreateFolder/上传附件
  6. 对开发者有用的英文网站合集,建议收藏!
  7. 视觉SLAM笔记(19) 相似变换群与李代数
  8. Dangling Javadoc comment
  9. 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法
  10. Ubuntu 硬盘”分区“图文教程(用于光盘,U盘安装Ubuntu)
  11. Django 入门:tests.py
  12. 《增长黑客》:针对产品增长---思维导图
  13. 基于Hardhat和Openzeppelin开发可升级合约(二)
  14. 什么是Subscript?
  15. leetcode之Isomorphic strings
  16. JS如何获取屏幕、浏览器及网页高度宽度?
  17. 利用火绒黑名单功能屏蔽风险ip地址
  18. 我的世界1.12.2java下载_我的世界Minecraft Java版1.12.2 pre2 宣布
  19. 三种开窗函数详细用法,图文详解
  20. 武汉财政容灾系统应用案例

热门文章

  1. GIS空间分析(二)—— 空间分析的历史与发展
  2. struck(结构化SVM用于视觉跟踪)--源代码详解--main.cpp
  3. java 发微信视频_分享java微信开发视频
  4. STM32单片机(11) DS18B20温度传感器实验
  5. 报表类-金蝶K3一次查询所有供应商采购价格
  6. 二维EMD_BEMDcode
  7. 自然常数e的由来以及计算机为什么是二进制
  8. 什么是云桌面?企业为什么要关心云桌面?
  9. 数组实现-线性表/链表/串/栈的操作
  10. html td里面元素的获取