1、随机数当作偏移量
o = frac(sin § *43758.5453);

2、切割小圆圈
0~1重复的数字变为0-1-0的圆圈

for ( int j = -1; j <= 1; j++ )
{for ( int i = -1; i <= 1; i++ ){float2 g = float2( i, j );float2 r = g - f + ofloat d = 0.5 * dot( r, r );if (d < F1)F1 = d;}
}

完整代码:

// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "TestS"
{Properties{_Size("Size", Float) = 36.6[HideInInspector] _texcoord( "", 2D ) = "white" {}[HideInInspector] __dirty( "", Int ) = 1}SubShader{Tags{ "RenderType" = "Opaque"  "Queue" = "Geometry+0" }Cull BackCGPROGRAM#pragma target 3.0#pragma surface surf Standard keepalpha addshadow fullforwardshadows struct Input{float2 uv_texcoord;};uniform float _Size;float2 voronoihash1( float2 p ){p = float2( dot( p, float2( 127.1, 311.7 ) ), dot( p, float2( 269.5, 183.3 ) ) );return frac( sin( p ) *43758.5453);}float voronoi1( float2 v, float time, inout float2 id, float smoothness ){float2 n = floor( v );float2 f = frac( v );float F1 = 8.0;float F2 = 8.0; float2 mr = 0; float2 mg = 0;for ( int j = -1; j <= 1; j++ ){for ( int i = -1; i <= 1; i++ ){float2 g = float2( i, j );float2 o = voronoihash1( n + g );o = ( sin( time + o * 6.2831 ) * 0.5 + 0.5 ); float2 r = g - f + o;float d = 0.5 * dot( r, r );if( d<F1 ) {F2 = F1;F1 = d; mg = g; mr = r; id = o;} else if( d<F2 ) {F2 = d;}}}return F1;}void surf( Input i , inout SurfaceOutputStandard o ){float time1 = 0.0;float2 coords1 = ( i.uv_texcoord * _Size ) * 1.0;float2 id1 = 0;float voroi1 = voronoi1( coords1, time1,id1, 0 );float3 temp_cast_0 = (voroi1).xxx;o.Albedo = temp_cast_0;o.Alpha = 1;}ENDCG}Fallback "Diffuse"CustomEditor "ASEMaterialInspector"
}

效果:

Voronoi Noise 原理相关推荐

  1. Voronoi Noise

    一.Voronoi Noise   沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌)是由俄国数学家Georgy Fedoseevich V ...

  2. 【游戏开发渲染】Unity ShaderGraph使用教程与各种特效案例:Unity2022(持续更新)

    文章目录 一.ShaderGraph前言 二.ShaderGraph科普 1.渲染管线(Render Pipline) 2.可编程渲染管线,SRP(Scriptable Render Pipline) ...

  3. 虚幻引擎 4 14 版发布

    Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版包含 Epic 的数百项更新,以及 GitHub 虚幻引 ...

  4. 虚幻引擎 4.14 版发布!

    Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版包含 Epic 的数百项更新,以及 GitHub 虚幻引 ...

  5. UNREAL ENGINE 4.13 正式发布!

    这次的版本带来了数百个虚幻引擎 4 的更新,包括来自 GitHub 的社区成员们提交的 145 个改进!感谢所有为虚幻引擎 4 添砖加瓦贡献的人们: alk3ovation, Allegorithmi ...

  6. metaball公式_Houdini 节点解释

    一 模型部分 掌握快捷键 1物体 2 点 3线 4面 a.编辑模型 主要使用edit工具 直接移动旋转缩放 在属性条添加软修改半径进行软修改 按m键 切换成笔刷修改类似zb b.简单练习4个常用命令 ...

  7. Houdini 节点

    -Houdini 节点 由于刚学Houdini,对于缺少的我会在后续持续补充........... 所有节点均按字母先后顺序排列. 表达式 $PT 点序号 $NPT点总序号数 fit 重映射区间 ra ...

  8. 小白的python与houdini之旅(houdini_转载houdini节点解析)

    Houdini 节点解释 OP 解释 Add Generators|polygon 创建点或Polygon线/面,为输入添加点或polys Align Filters|NURBS 互相对齐一组面或和辅 ...

  9. 用Shader Graph的Flipbook节点实现水花效果

    一个有趣的教程 昨天看了一个老外的视频教程:Rain Drop Ripples,教程用 Shader Graph 实现了游戏中常见的下雨天地面的水花效果. 视频中水花动画的实现和我们游戏的实现方式有所 ...

最新文章

  1. linux shell读取文件
  2. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
  3. webpack简单配置
  4. 代码Overlay机制
  5. SpringMVC获取Request,Response, Session对象
  6. OllyDbg笔记-暴力破解简单判断程序(TraceMe.exe与简单Qt程序)
  7. matlab snr eb n0,snr ber Eb/N0之间的区别与联系
  8. python 混淆矩阵 画图_【Python-机器学习】sciki-learn/pandas与OLS求解
  9. exchange 2003 event id 1221
  10. python类中的self参数和cls参数
  11. img加载在IE11,chrome,FF下的不同
  12. 使用 SpringBoot 写 RESTful风格 增删改查接口
  13. python中使用什么表示代码块、不需要使用大括号_PYTHON基础语法
  14. 做了多年开发的你发现自己的水平一直上不去,一篇文章教你如何提高开发水平的方法
  15. 输入一个字符串,内有数字和非数字字符,
  16. 手机淘宝app、xsign签名算法
  17. Ceres-Solver安装与简介
  18. 如何理解总体标准差、样本标准差与标准误
  19. Android 中定义图片的资源文件
  20. 基于C#实现的《勇士返乡》游戏设计

热门文章

  1. A001、熟悉研发环境windows_常用工具使用
  2. 两个LED灯不同频率闪烁(MC9S12XS128)
  3. 固态硬盘测试工具-AS SSD Benchmark
  4. web渗透笔记之前期信息收集
  5. long时间转换 java_Java longTime 和C#日期转换
  6. int,long,String,cron和Date格式的相互转化
  7. 渗流稳定性分析(MATLAB实现)
  8. 什么是微服务?看这里
  9. 杭州米链科技顺利通过ISO9001质量管理体系认证
  10. 软件测试简历,别再做无用的简历了