Mathf.PerlinNoise
2015-07-10 12:18
447 查看
这个函数会基于一个二维perlin noise图像(本质是算法,并不是真正的生成一张图片),用x和y作为uv坐标(取值范围都是0-1,超出这个范围的情况和uv坐标是一样的,perlin noise图像是可以无限延长放大的)在这个图像中取点,将这个点的灰度值作为函数结果返回。
Perlin Noise的特点是:返回值随着x,y坐标的移动,是连续且平缓的变化的随机值,这点和Random是完全不同的,而且这个特点非常重要,应用范围很广。可以想象,把x或者y的值随着时间去改变,会得到动态变化的一系列数值。
用法举例:
上述代码会让灯光颜色随机发生变化,但是因为三个通道都是平缓的变化,所以最终灯光的颜色也是一个平缓的变化过程。r通道是横向向右移动取值,g通道是纵向向下移动取值,b通道是像右下45度方向移动取值。
Perlin Noise的特点是:返回值随着x,y坐标的移动,是连续且平缓的变化的随机值,这点和Random是完全不同的,而且这个特点非常重要,应用范围很广。可以想象,把x或者y的值随着时间去改变,会得到动态变化的一系列数值。
用法举例:
Void Update() { Color color = new Color(Mathf.PerlinNoise(Time.time, 0), Mathf.PerlinNoise(0, Time.time), Mathf.PerlinNoise(Time.time, Time.time)); light.color = color; }
上述代码会让灯光颜色随机发生变化,但是因为三个通道都是平缓的变化,所以最终灯光的颜色也是一个平缓的变化过程。r通道是横向向右移动取值,g通道是纵向向下移动取值,b通道是像右下45度方向移动取值。
相关文章推荐
- linux shell 管道命令(pipe)使用及与shell重定向区别
- linux grep命令详解
- NoSql之旅--Cassandra的Cql简介(二)
- 享元设计模式 -- 线程的不安全性
- 刨根问底--action属性赋值过程分析
- hdu 4634 Swipe Bo
- 跟着实例学习设计模式(3)-工厂方法(创建型)
- http响应Last-Modified和ETag以及asp.net web api实现
- 苹果开发 笔记(47) 圆
- CPLD 是什么?
- asp连接oracle,在 movenext 时才出错 80004005
- 关于心理的二十五种倾向(查理·芒格)-2
- Lerp 实现匀速运动
- QT读文件夹内所有文件名
- ios项目(十七)
- 虚幻4 Editor 编程
- socket状态
- [GEiv]第七章:着色器 高效GPU渲染方案
- avahi - Avahi(Avahi和Bonjour相互兼容)
- (Struts2)登录失败跳转到index.jsp