Minecraft 为什么要限制地图高度? - 知乎
文章推薦指數: 80 %
这个问题得怪mc自己的一些机制上的问题。
首先,排除一些其他原因,比如早期(至少1.0时期)天空高度限制是128,后来改到256,但是这只是建筑高度,玩家可以飞得更高( ...
Minecraft(游戏《我的世界》)Minecraft:BedrockEdition(《我的世界》基岩版)ModsForMinecraft(《我的世界》模组)我的世界地图MinecraftServer(我的世界服务器)Minecraft为什么要限制地图高度?这题当归属于编程大佬们显示全部关注者76被浏览215,126关注问题写回答邀请回答好问题54条评论分享27个回答默认排序熊孩子Minceraft/三国闪/BRAINISEMPTY362人赞同了该回答这个问题得怪mc自己的一些机制上的问题。
首先,排除一些其他原因,比如早期(至少1.0时期)天空高度限制是128,后来改到256,但是这只是建筑高度,玩家可以飞得更高(至于是TNT炸上去还是鞘翅飞上去还是一根2147483647级的激流直接上天就看个人意愿了),至少表明y坐标限制并不是不能突破(区别于x/z=±30000000的世界界限,那真的是改坐标都出不去)。
那么问题出在哪儿?存档机制本身是一个威胁。
mc的存档每个.mca记录32x32共1024个chunk(@海东喵所以面积上好像真的是512*512?),分成1024个存储对应区块内全部信息的Chunk[x.z]文件,每一个里用Sections这个Tag_List记录这个区块内存档的方块信息,包含共计16个Tag_Compound,每一个复合标签由一个“Y”值标记其存档的信息的所属位置(这个即所谓的subchunk的由来),Y:0表示y轴区间0~15,Y:1表示16~31……[1]。
经验表明,主世界通常平均会用到大约7个subchunk(实际上Oceans及变种最少,只用到4个,一般的平原森林在5个左右,带hills能到6个左右,mountains、plateaus以及有大树的那些比如giant_tree_taiga、jungle等一般在7~9个,特例是shattered_savanna及其plateaus变种,最平的时候5个,最高16个)。
换句话说如果y轴高度提高的话,很可能需要同步提高一下各个生物群系的比例,这可能导致存档变得非常大。
但是,如果一个subchunk里面没有一个方块(哪怕曾经)被填充为不是空气的方块的话,这个subchunk就根本不会计入存档。
此外,subchunk的Y并不一定非得连续。
删区块存档信息的经验表明Y:6后面是真的可以直接Y:8的,这也就意味着只要生成世界的时候DepthBaseSize(貌似叫基准深度大小?)[2]这东西不怎么变的话,大量空闲空间其实根本不占存档;区块加载机制是另一个威胁。
mc对区块的加载是(除通过技术手段强制加载区域外)以每一个玩家为中心视距为半径加载里面所有区块,但是每个区块均是直接全部加载完,这就导致如果区块的y轴能不断建筑上去的话,每个区块的加载负担就会越来越大,毕竟承载的光照计算和实体动作也越来越多(其实这也是曾经的farlands(边境之地)特别卡的原因之一[3],虽然不是主要原因)。
顺便一说,记忆中多年前贴吧就有讨论过是否可能让y轴变得跟xz一样大范围存在,或者直接把整个世界立过来。
当时的结论是其实是也不是不行,只要y轴也跟xz轴一样区域性加载就行了。
所以,最主要的问题可能还是出在Mojang上,毕竟是Mojang,不懂mc,懒得要死,负优化,还经常制造bug。
如果mojang愿意正优化下各种机制的话y轴再拉高一些也不是做不到。
参考^https://minecraft.gamepedia.com/Chunk_format^https://minecraft.gamepedia.com/Customized^https://minecraft.gamepedia.com/Farlands编辑于2019-12-2119:55赞同36260条评论分享收藏喜欢收起MineCommanderThink,Create,Play65人赞同了该回答1.过高的高度会影响游戏运行的性能,因为增加了需要处理和渲染的空间。
2.多出来的空间也会保存在地图文件中从而增加储存负担。
我至今玩过最大的存档有1.4gb(不包含datapacks)3.多出来的空间也没有意义,除非是特殊的cb研究(写bug)或是世纪伟大工程,用到的y轴空间很少超过200。
编辑于2019-12-2320:43赞同656条评论分享收藏喜欢收起
延伸文章資訊
- 1高度- Minecraft Wiki,最詳細的Minecraft百科
- 2基岩 - Minecraft Wiki
基岩(Bedrock)是一种在生存模式里无法以正常途径破坏的方块。 ... 由於地獄的世界高度限制被增加至256格,但是其生成機制並未變更,故蘑菇可以在基岩頂端生長,怪物 ...
- 3深淵!《Minecraft》1.18擴增世界高度限制,驚現超級地穴奇觀
根據官方公告,Java 1.18 實驗預覽版(1.18-exp1)已在7 月13 日釋出,是繼2012 年 1.2.1 版本後再次擴展世界的高度限制Y=-64 至320,這項改變也為地洞 ...
- 4Minecraft/方塊- 萌娘百科萬物皆可萌的百科全書
Minecraft/方塊 ... 大多數固體方塊有1米高,但某些方塊(例如台階和樓梯)有不標準的方塊高度。 ... 但是,在基岩版中,這些方塊可以通過物品欄編輯器獲得。
- 5Minecraft 为什么要限制地图高度? - 知乎
这个问题得怪mc自己的一些机制上的问题。 首先,排除一些其他原因,比如早期(至少1.0时期)天空高度限制是128,后来改到256,但是这只是建筑高度,玩家可以飞得更高( ...