C/C++编程笔记:游戏开发中的噪声算法详解,游戏编程常用技术(18)
这种方法是思想是 , 由于我们想要每个维度都是无缝的 , 也就是当该维度的值从0变成1的过程中 , 0和1之间比较是平滑过渡的 , 这让我们想起了“圆” , 绕圆一周就是对该维度的采样过程 , 这样就可以保证无缝了 。
因此 , 对于二维噪声中的x轴 , 我们会在四维空间下的xz平面上的一个圆上进行采样 , 而二维噪声的y轴 , 则会在四维空间下的yw平面上的一个圆上进行采样 。 这个转化过程很简单 , 我们只需要使用三角函数sin和cos即可把二维采样坐标转化到单位圆上 。 同样 , 三维空间的也是类似的 , 我们会在六维空间下计算 。 这种方法不仅适用于Perlin噪声 , 像Worley噪声这种也同样是适合的 。
Unity Wiki里二维可平铺的Simplex噪声的实现:
其中 , xyOffset是指在四维空间某个平面上的偏移 , 即这个单位圆是以xyOffset为圆心的 。
该方法缺点是计算量大大增加 , 一般噪声的复杂度为O(2n)(Simplex噪声例外 , 是O(n2)) , 是指数增加的 , 因此比较适合预计算 , 例如程序化生成噪声纹理 。
推荐阅读
- 游戏笔记本|Dota2-今天又是玛西被削的一天?水友:强度太高,还得接着削!
- 森林之子|双十一性价比风暴来袭,这些性能强劲的笔记本不容错过
- 黑神话|解析《黑神话:悟空》技术看点,RTX 30系笔记本带来极致体验
- 笔记本|红米G笔记本香爆?5000元大作全安排!玩家:这就整超激斗梦境
- 梦幻西游|梦幻西游:找到了当年记录账号的笔记,因为它还被父母混合双打过
- 单机|老旧笔记本轻松畅玩,10款超低配置的经典单机
- 元气骑士|经费炸裂!《元气骑士》新角色比死亡笔记更强,比司铎团更加惊艳
- 地下城与勇士|DNF:韩服6.21开发者笔记,刃影太刀物理固伤,神话合成系统出现
- 国服|第五人格:联动“死亡笔记”?一颗红苹果的期待却与国服彻底绝缘
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行