从0到1搞懂柏林噪声:游戏中是如何“随手”画出大自然的?

合集 · 游戏开发技术合集 (17)

  1. 6:22
    6分钟让你学会2D游戏水波特效
  2. 15:00
    RVO2(即ORCA)动态避障算法---精简版
  3. 11:41
    影子在游戏碰撞检测中的秘密
  4. 2:45
    向量场群体寻路算法(Vector Field Pathfinding,DEMO开源)
  5. 2:08
    《Boids算法》模拟鱼群鸟群(Demo开源)
  6. 2:24
    游戏单位寻路算法:A*算法(A Star)
  7. 2:01
    游戏空间划分技术之一四叉树(Quadtree)
  8. 5:13
    游戏中的碰撞检测算法:从SAT到GJK
  9. 2:33
    游戏空间划分技术之-KD树
  10. 7:21
    从零到一搞懂柏林噪声:数学、代码与自然的平衡
  11. 4:33
    从if-else地狱到逻辑之美:游戏AI行为树(Behavior Tree)
  12. 2:37
    游戏AI行为树(Behavior Tree):代码实战
  13. 3:08
    游戏中的碰撞检测算法:扫描与裁剪(SAP-Sweep And Prune)
  14. 2:12
    三消游戏:消除判定机制与算法流程
  15. 3:49
    贝塞尔曲线(Bézier Curve):用最简单的线性插值,勾勒出虚拟世界的灵魂
  16. 2:58
    为什么游戏里的液体能完美融合?轻松看懂Metaball
  17. 4:19
    游戏地图是怎么"长"出来的?波函数坍缩算法
Description
“随机是世界的底色,而柏林噪声是世界的律动。”
为什么《泰拉瑞亚》的地形起伏如此丝滑?为什么《我的世界》的洞穴蜿蜒曲折却从不显得混乱?这背后都指向了一个改变游戏开发史的算法——柏林噪声(Perlin Noise)。
很多教程会告诉你怎么调用库函数,但本期视频我们将深入“熔炉”内部,从数学底层逻辑出发,带你彻底看透噪声生成的每一个细节:
✅ 知识点看点:
1D噪声入门:从随机梯度到插值分配,理解噪声的“呼吸感”。
深度数学推导:为什么线性插值会有“折痕”?导数(Derivative)如何决定衔接的平滑度?
平滑函数进化史:从3次方到终极5次方插值(Quintic Interpolation),二阶导数为0意味着什么?
分形叠加(Fractal):利用导数的线性性质,证明多个噪声叠加后的平滑性,创造丰富地形细节。
2D与3D进阶:点积运算、三线性插值,以及如何生成类似《我的世界》的3D体素地形与洞穴系统。

Comments

Mr板板 2026-01-20

请问我要先学习哪些数学知识才能掌握柏林噪声[笑哭]

♥ 42 ↩ 18

安o哥o拉 2026-01-19

现实世界不是完全平滑的,地形可能会有断崖。网页人机检测中(比如拖动滑块),有些比较严格的,如果是用算法模拟,不管多少次平滑,加减速,随机抖动,都过不了ai检测。

♥ 17 ↩ 2

哔哩哔哩哔哔哔的哩 2026-01-20

嗯。说的对!。。柏林噪音。本质为:混乱的随机世界,引用了乱序中属性相同无限相连的机制。

♥ 15 ↩ 1

全能小当家Kral 2026-01-20

质量非常优异的视频,up主做的相当用心

♥ 11 ↩ 1

dsp2杂化_ 2026-05-24

这是我的世界柏林噪声算法[doge]

♥ 9 ↩ 1

gjdoufjlfiyfnfhh 2026-04-15

视频深度有深有浅,做得很不错。不过我对数学完全不理解,所以看到40秒后直接跳跃到了5分钟开始。能否这样总结视频:先把复杂的自然界拆解为纯粹的地形起伏,从如何生成泰拉瑞亚这样的2D平面的地形起伏开始研究,可以观察到,声波的起伏很像地形的起伏,通过数学上的各种加工和处理使得声波更接近于自然的地形起伏,再对这个波进行采样,就变成了一个个方块组成的地表,后续经过改进,可以让平面的地表变成立体的地表,并在地表之下挖出洞穴之类的结构。之后再使用其他算法生成植被、生物、矿石就可以构建出一个minecraft[哦呼]

♥ 6 ↩ 2

SkySeec 2026-02-09

柏林噪声可以生成地形,但如果加入群系,以及群系之间的过度Voronoi的效果很好,但是很消耗性能。

♥ 5

CoderJo 2026-02-06

问:我们可以验证这两个三次和五次函数的导数或是二阶导数刚好为0,但是我们是怎么发现他们的? 答:别问,问就是微分方程(此处放恐怖音乐)

♥ 4 ↩ 1

小东西shy 2026-01-22

一不留神就看完了,我将严肃逐帧学习[tv_思考]

♥ 4 ↩ 1

没操作的小明 2026-02-05

靠,从1分钟的时候就没看懂,是我硬件不行还是前置mod没安装

♥ 3 ↩ 1

约翰_内斯堡 2026-01-27

md,刚学完计算方法就给我看这个是吧

♥ 3

缇什ta 2026-03-23

好懂,我学会了!柏林噪声大概就是随机生成斜率加预处理t的线性插值是吗[星幕回响_甩葱]

♥ 2

cYgunS 2026-01-24

支持一下,加油

♥ 2 ↩ 1

i天空与钢琴i 2026-01-22

这个讲的透彻

♥ 2 ↩ 1

幻想的yume 2026-01-19

支持一下up[给心心]

♥ 2 ↩ 1

乐子猫k 13d ago

怎么样把二维噪声映射到三维的山峦上呀?这是什么网站?

♥ 1 ↩ 1

biubiu之主 19d ago

[哦呼]游戏领域是编程区数学最好的大众领域了吧[少女乐团派对_期待]感觉自从开始学习游戏制作就开始变成数学大蛇了[FGO_尴尬]

♥ 1

恋人与你 2026-05-29

要晕倒了

♥ 1

中单不买J 2026-05-13

死去的高数在攻击我

♥ 1

冉跃之人 2026-04-08

那如果想更真实的模仿现实世界的地形该怎么搞?

♥ 1 ↩ 5