Minecraft(我的世界)中文论坛

标题: [CBL|K_bai]TerrainCreator 地形创造 游戏内生成无限自定义地形[1.15.2]

作者: kongbaiyo    时间: 2020-3-24 14:53
标题: [CBL|K_bai]TerrainCreator 地形创造 游戏内生成无限自定义地形[1.15.2]
地形创造

地形创造数据包可以按方块创造一个自定义的地形。它根据每个方块的坐标来计算Perlin噪声和Worley噪声。将这两种结合,并加上一些后处理步骤,就可以创造一个包含不同生物群系(包括河流、平原、平顶山等)的完整的世界。

这个数据包没有实用价值。下面动图实际生成时间为30分钟。如果有一天你闲的没事做,可以下载数据包,放到一个void预设的超平坦里,随便传送到一个坐标,启动生成,就可以坐着看戏了。





如何使用

给一个实体或玩家添加一个map_generator的tag,就会自动在这个实体周围开始生成地形。它每tick生成20个方块,每个方块消耗1400条命令。光照更新可能带来很大的卡顿。

同样你可以在perlin:preset中修改一些参数,比如每个生物群系的基础高度,来生成你自定义的地形。


它是如何工作的
伪随机数生成器

参见perlin:random/number。这个数据包使用了线性同余生成器来生成随机数。数据包内为了使数据不超过int最大数据的限制进行了一些修改,因此该生成器只能生成0-8192之间的数字。

实际上,我一开始准备用游戏内的伪随机数生成器。但是由于bugMC-174435的存在导致loot table seed对/loot命令无效,就此作罢。


计算哈希码

参见perlin:random/xy。由三个数字计算哈希码有很多方法。Minecraft使用了乘并异或的方法。但在游戏内计算异或将消耗大量命令,因此这里使用了乘法来计算。


Perlin噪声

2D Perlin噪声的游戏内实现。和标准的算法不同的是,本算法只在12个随机向量中选择。噪声预览图见下。参见perlin:initperlin:noise


Worley噪声

2D Worley噪声的游戏内实现。用了一个简单的办法查找不同块之间的边界。噪声预览图见下。参见perlin:noise_wm这里


波浪滤镜

Worley噪声生成的边界为直线,属实没劲。因此添加了一个波浪滤镜让它看起来更加的浪。参见perlin:wave


将噪声和滤镜结合

使用Worley噪声确定生物群系,再让边界成为河流。使用平滑函数使边界更加平滑(perlin:fade)。最后把Perlin噪声叠加在上方。最终结果是,给perlin:terrain输入一个坐标,它就会返回一个高度和所对应的的生物群系。


按区块生成地形

每个区块生成一个游标,根据游标位置调用函数生成区块。参见perlin:new_map/


鸣谢



作者: tineseack_bk    时间: 2020-3-24 16:26
这个数据包没有实用价值.jpg
希望 mc 能有更丰富的功能让做新维度这件事情变得不那么困难吧
作者: (=°ω°)丿    时间: 2020-3-24 18:44
我也有想过用命令自己弄一个自定义世界生成,不过我的重心不是生成地形(地形都是有规律的)而是生成植物、建筑什么的(
https://www.mcbbs.net/thread-942960-1-1.html
作者: Xiao2    时间: 2020-3-24 21:06
刚在想这方面的事就遇到了qaq
很有实用价值

仅仅将地形定义为类似末地岛的有限空岛就可以做到类似完全的新维度(在已有地形的地图上)
我正在想如何做一个新入口,让玩家可以传送到一个新世界(其实就是重置某一地区的生态系统或者地形,但是是有界的),以拓展游戏内容。


作者: kongbaiyo    时间: 2020-3-25 09:59
Xiao2 发表于 2020-3-24 21:06
刚在想这方面的事就遇到了qaq
很有实用价值

修改现有群系确实是个好想法!之前我做过这么一个地图 月面模拟器,就是把平顶山地形的混凝土全换成白色的了
生成空岛我还没想过 不过感觉可以试试!


作者: Liu_Ze    时间: 2020-3-25 10:52
我淦!还是有点意思的噢hhhhh
作者: Xiao2    时间: 2020-3-25 11:46
kongbaiyo 发表于 2020-3-25 09:59
修改现有群系确实是个好想法!之前我做过这么一个地图 月面模拟器,就是把平顶山地形的混凝土全换成白色的 ...

我看了一下

如果能用现在这个技术的话
就不只是替换而已了

可以完全生成不一样的地形
再加上建筑等等就可以是一个“维度模拟器”了
-------
空岛的意思是:局域的地形生产,而不是全图型的(类似末地更新前的末地岛的局域性)
作者: 段位全靠肝    时间: 2020-4-28 16:24
。。。实在看不懂
作者: Deadmau5_kris    时间: 2020-4-29 11:32
神乎其技!6的飞起!
作者: 天空空的懒    时间: 2020-4-30 17:37
有点意思

作者: Dear-boy    时间: 2020-4-30 18:06
感谢大佬!本来对这方面一直不太懂,看了帖子入门了一些(虽然还是不懂)
作者: 🥶❄️☠️    时间: 2020-4-30 19:59
30分钟!那么我刚开始玩就已经又要上课了
作者: YMZ.    时间: 2020-4-30 21:28
cooooooooool
作者: w199872    时间: 2020-5-1 00:05
MCBBS有你更精彩~
作者: ling_luan    时间: 2020-5-1 15:46
很好的模组,大佬加油
作者: gagadz    时间: 2020-5-1 16:19
完成任务
      
作者: 这章鱼哥    时间: 2020-5-2 21:14
哇大佬厉害支持支持
作者: 3468863968    时间: 2020-5-3 15:17
Xiao2 发表于 2020-3-25 11:46
我看了一下

如果能用现在这个技术的话

牛掰牛掰牛掰牛掰牛掰
作者: 925346206    时间: 2020-5-4 15:34
看帖子使我快乐
作者: qq719177532    时间: 2020-5-4 17:04
虽然没看懂 但是很厉害
作者: 2771580317    时间: 2020-5-5 10:25
下载试一下
作者: T_irpitz    时间: 2020-5-8 13:17
mcbbs有你更精彩
作者: hongjr03    时间: 2020-5-8 16:31
话说群系分布也可以这样搞吗?还有就是 地下的矿脉会受到影响吗
作者: qwasd6500148    时间: 2020-5-8 19:49
这个太顶了啊,自定义地形
作者: 492086070    时间: 2020-5-11 18:11
sdasdasdasdadasd
作者: ruachelw    时间: 2020-5-11 20:47
哇好好!!!非常感谢!
作者: 亦ball    时间: 2020-5-12 20:01
好像很厉害的样子
作者: 蓝天123456    时间: 2020-5-14 08:57
666666666666666666666666
作者: 蓝天123456    时间: 2020-5-14 13:52
滴,打卡!作者大大真棒!
MCBBS有你更精彩~
作者: 25038132    时间: 2020-5-15 07:40
那个,我想改刷怪效率要用什么指令啊
作者: 3147741808    时间: 2020-5-15 22:06
        MCBBS有你更精彩~
作者: 玩mc的小沙雕    时间: 2020-5-16 20:22
太难了
作者: 立哥打MC    时间: 2020-5-17 15:20
nb不愧是优秀帖,棒棒嗒
作者: Konahoo    时间: 2020-5-18 09:07
很棒的mod 大佬加油啊~!
作者: BlackFred    时间: 2020-5-19 11:00
完成任务
作者: 苏育铿    时间: 2020-5-19 11:33
哇哦!不错的模组哦!感谢分享
作者: 苏育铿    时间: 2020-5-19 11:34
哇哦!不错的模组哦!感谢分享
作者: 1582310    时间: 2020-5-19 12:08
感谢楼主分享
作者: ken20060601    时间: 2020-5-28 14:23
666666666666666
作者: Rukio    时间: 2020-6-1 01:38
666666666666666666666666
作者: lifuhao    时间: 2020-6-3 10:17
66666666666
作者: a3061362    时间: 2020-6-6 23:30
66666666!好喜欢!
作者: HikerZago    时间: 2020-6-7 09:17
看起来不错,期待新作品的发布!
作者: 原罪丿    时间: 2020-6-8 09:23
..........................................................
作者: jwpwcyxb    时间: 2020-6-9 11:16
大佬NB,膜拜!!!
作者: dfsofyhsdkghksd    时间: 2020-6-11 17:46
在座的各位都是大佬QAQ
作者: mgzyh    时间: 2020-6-14 13:54
这就是强者的世界吗
作者: giaogiao_66    时间: 2020-6-14 20:39
可以可以非常棒的呦
作者: Kroblus    时间: 2020-6-15 18:55
看不懂。。还是暖一下
作者: 44455512345    时间: 2020-6-15 22:18
电脑会因为地形刷新卡住吗??
作者: 44455512345    时间: 2020-6-15 22:18
指令对我来说很复杂,但是有攻略,赞!
作者: wenzixie    时间: 2020-6-16 12:56
66666666666666666
作者: Mc_12345    时间: 2020-6-18 20:41
不明觉厉
作者: jrojro    时间: 2020-6-19 22:42
感觉会很卡,但可以
作者: Air酱    时间: 2020-6-20 16:03
哇这!厉害,看不懂了
作者: QZ、冷幽    时间: 2020-6-21 12:44
顶!!!!!!!
作者: 眼见为实    时间: 2020-6-24 14:27
手:“我学会了!” 脑子:“不你没有!”
作者: 1014558923    时间: 2020-6-26 11:41
建筑党表示感谢,但还是小木斧好用些也简单些
作者: the_noob_XD    时间: 2020-7-2 12:29
MCBBS有你更精彩~
作者: 金刚葫芦    时间: 2020-7-2 15:06
        神乎其技!6的飞起!
作者: 白丁俗客    时间: 2020-7-3 22:38
MCBBS有你更精彩
作者: Ming—yv    时间: 2020-7-8 09:29
强无敌1
作者: CMD009    时间: 2020-7-8 16:07
6666666666666
作者: 102630464c    时间: 2020-7-9 09:08
很不错的世界生成,但目前看下来并不是很有实际价值
作者: qq506699915    时间: 2020-7-10 12:18
学到了学到了
作者: Freeze_Dolphin    时间: 2020-7-10 23:17
刚刚在站内看完bukkit插件的WorldGen写法,一翻主页底部的“命令”专栏就找到了这个= =
作者: 细菌XiJu    时间: 2020-7-11 14:39
woc,厉害,支持!!!
作者: nikub    时间: 2020-7-12 07:53
啊啊啊啊啊啊啊啊啊啊啊
作者: 滑稽小笨蛋    时间: 2020-7-13 10:37
感谢大佬!本来对这方面一直不是特别懂,看了这个帖子之后就懂了一点「其实还是有很多不懂的」
作者: a2902463043    时间: 2020-7-15 12:57
6666666666
作者: 爱使板砖的兔子    时间: 2020-7-19 02:29
太6了,6666666666666666666666
作者: Stray05    时间: 2020-7-19 04:02
哦?可以可以。不过话说怎么用?
还有,适应1.16的啥时候更新呢?
作者: Stray05    时间: 2020-7-19 04:03
Stray79 发表于 2020-4-30 19:59
**** 作者被禁止或删除 内容自动屏蔽 ****

所以你得在距离下课前30分钟打开然后搞出来
作者: 成河凌天    时间: 2020-7-19 16:16
膜拜大佬,最近正在学命令方块
作者: Hs123y    时间: 2020-7-20 19:38
爱了爱了,谢谢
作者: 密云    时间: 2020-7-21 10:49
虽然听不懂...好高大上的亚子
作者: 3413145092    时间: 2020-7-21 12:25
非常cool 大佬nb
作者: 楪梧    时间: 2020-7-22 21:13
大佬厉害
作者: 郭雨轩666    时间: 2020-7-22 22:01
MCBBS有你更精彩~
作者: AppleCarrot    时间: 2020-7-25 22:32
1gt20个?每个方块1400条?1gt有28000条,1s有560000条
拜拜我电脑带不动
作者: Eddsy    时间: 2020-7-29 15:37
可以,您就是mc的编程师吧【doge】
作者: 天宇真身大佬    时间: 2020-7-31 08:27
谢谢大佬,十分好用,妈妈再也不用担心我不会创造地形了
作者: 欧阳秀念    时间: 2020-7-31 12:26
哈哈哈谢谢楼主,学会了
作者: ab2395475096    时间: 2020-7-31 13:32
MCBBS有你更精彩~
作者: a595460240    时间: 2020-7-31 14:16
mcbbs有你更精彩
作者: 私‘’恋    时间: 2020-8-1 21:31
很好的模组,大佬加油
作者: 2689560417    时间: 2020-8-2 17:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: EnderJl    时间: 2020-8-3 15:28
MCBBS有你更精彩~
作者: 像以前一样好    时间: 2020-8-4 15:15
66666666666666666666666
作者: Airsd    时间: 2020-8-4 17:20
看不懂 但感觉好nb
作者: 帝龙liang    时间: 2020-8-5 22:24
111学到了,可以和朋友装杯了

作者: 妃子笑荔枝    时间: 2020-8-5 22:27
学到了谢谢
作者: 1602924319    时间: 2020-8-6 02:23
MCBBS有你更精彩~
作者: 真香_意大利皮    时间: 2020-8-7 00:24
感谢大佬,不知道Worley噪声能否进行替换,因为音源文件夹在哪个位置有些混淆
作者: 1926144968    时间: 2020-8-7 11:06
mcbbs有你更精彩
作者: 我的好祖宗    时间: 2020-8-8 01:15
可以什么地形都能实现的感觉
作者: endermy    时间: 2020-8-8 23:18
神乎其技!6的飞起!
作者: Lingqian    时间: 2020-8-9 13:17
MCBBS有你更精彩~
作者: mylss    时间: 2020-8-10 00:56
建筑党爱了
作者: 95371037    时间: 2020-8-10 13:45
不错的模组