设为首页收藏官网网盘国家资源立人课堂 今天是: 2024-05-18    "国际博物馆日"  了解博物馆,更好地发挥博物馆的社会功能投稿

立人创客乐享社区

 找回密码
 立即注册
成都市金牛实验中学校

立人小喇叭+ 发布

信息中心 立人创客游戏化学习三乐法新课程开始啦!欢迎交流分享
04-04 10:04
立人创客社: 祝愿世界太平!地球早日康复!
01-07 11:43
jnschool 请同学们严格遵守国家网络安全规定,文明上网!
01-07 11:41
查看: 3334|回复: 0

立人创客 #5 | 建设喷泉绿地

[复制链接] TA的其它主题
<

338

主题

1107

好友

1万

积分

社区管理员

创客导师

Rank: 9Rank: 9Rank: 9

积分
18086
威望
2981
立人币
8177
贡献
1229
大金牛币
444
乐创奖
39
乐享奖
12
乐课奖
6
立人证书
6

突出创客优秀版主荣誉管理创客元老

QQ
发表于 2020-6-3 08:36:51 | 显示全部楼层 |阅读模式 |
<

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

百家笑谈,谈笑古今。今天我们不讲计算,我们来讲讲建筑......

这次真的只讲建筑不讲计算,请文科生放心!




一、选择建筑方法


在Minecraft里,最简单,最基础的建设方法就是按下右键放置方块。但是,这种方法每次只能放置1个方块,在进行大型建筑时效率非常低下。如果按住右键不放,系统会地洞判定持续放置方块,速度约为1s/个,然而这种方法虽然能够加快放置方块的速度,但是操作者需要对手部有很强的控制力才行,因此这种方法不可取。理论上来说,你还可以通过不断点击鼠标右键的方法增加放置方块的速度,但是,这种方法对手部控制的精准度更高,更加不可取。(You can you up !)

但是这种方法也有其自身的优点:由于右键一次只放置一个方块,因此放置的精准度非常高,可以说是所有操作方法里精确度最高的一种。而且这种方法也特别简单易学,毕竟只要是稍微懂一点电脑的人就会知道鼠标右键是什么。


                               
登录/注册后可看大图

由于喷泉绿地大部分是有规律的直线几何图形,因此不需要太多的精确操作,需要的是大范围快速填充方块,就像画图软件中的“油漆罐”一样。那么,我们接下来介绍第二种方法。

/fill 指令。在Minecraft的源代码里,这条指令已经被编译完整,因此我们所需要做的只不过是在聊天栏或者命令方块里将指令打出来而已......吗?

这条指令的规范使用方法如下:


/fill x1 y1 z1 x2 y2 z2 填充方块的英文名或是ID


解释一下:开头的 /fill 是指令名称,不可修改; x1 y1 z1 是填充区域第一个点的坐标,我说过,Minecraft里的世界是有三维坐标系的,因此每个方块都有属于自己的坐标; x2 y2 z2是填充区域的第二个坐标; 填充方块的英文名或是ID 是指填充方块的英文名或是ID,并不是指这行字,例如石头在Minecraft里的英文名是 minecraft:stone ,ID是 1 。输入完成后,所选区域的所有方块都会被替换为你所指定的方块。由于这条指令能够一次性放置大片方块,因此其效率非常高。



                               
登录/注册后可看大图

虽然看着很简单,但是实际操作起来可是非常麻烦,因为我又要计算每个方块的坐标,会显著增大我的建筑难度,如果计算错误,建筑的精确度就会降低,需要重新计算。而且,我擅长的领域是红石,不是指令,因此我对这条指令非常陌生,既然陌生,使用起来必然就更加不方便。因此,这种方法也不可取。



                               
登录/注册后可看大图

在原版里,只有这两种填充方块的方法。但是我们可是有服务器的,可以加各种各样的模组,因此,请允许我隆重介绍一个大型建筑向模组:


                               
登录/注册后可看大图

WorldEdit,又称“创世神”。这个模组将原版所有指令进行加工,是指令易于理解和使用。

这个模组里,木斧是一切指令的核心,因此我也戏称他为“创世小木斧”和“神奇小木斧”。你手持木斧,对准一个方块按下鼠标左键,这个方块就被设置为第一个坐标点,等同于 /fill 里的x1 y1 z1 ,只不过不需要人工输入数值;同样,手持木斧,对准一个方块按下鼠标右键,这个方块就被设置为第二个坐标点,等同于 x2 y2 z2 。然后你就可以用其他指令对选中方块进行修改和加工,而这个模组能做的,不仅仅是一昧填充方块那么简单。

例如 //set 填充方块的ID 能够将选区内的所有方块填充为你指定的方块,与原版 /fill 指令有一样的效果。

而 //walls 填充方块ID 能够在选区四周用你选定的方块建立起一堵围墙,厚度为1个方块。

当然,创世神能够做的远不止这些,创世神增加了近百条指令,每条指令都有不同的功能,在这里就不一一介绍了。

木斧选择坐标点保证了选区的精准度,各种指令保证了建筑效率,而且指令简单易学,是我进行建筑的最佳工具。


                               
登录/注册后可看大图

综上所述,神奇小木斧完胜原版建筑方法。

虽然创世神在处理1个方块时效率较低,但是考虑到右键鼠标放置方块对单个方块处理的极高精准度,这种方式可以和创世神配合使用,那效率,啧啧啧啧啧......




二、实际建筑


通过上一篇文章的计算,我们可得知,每个白色矩形长为14格,宽2格,整个喷泉部分多余的1格宽度加入靠近天府广场对称轴的一方,且最外层的白色外框需要放置铁栅栏。从宽度上看,喷泉部分是这样:


                               
登录/注册后可看大图

而绿地部分是装饰在草地上的半圆图形和棒子树:


                               
登录/注册后可看大图

既然我们不讲计算,那我们就欢快点——本来想减掉这个部分的——但是考虑到这个部分的逗比指数直接报表,所以,还是讲吧。

在首日建筑当晚,我由于整合包原因没有参与建筑。但是实际上,在我进入服务器时,刘宇昂还没有收工。但是当时已经是收尾阶段,太极图只差黑线没有填充。在帮助刘宇昂填充完毕后,我申请获得创世神的使用权限,因为所有数据都是我计算的,只有我知道将误差减小到最小的方法(实际上就是数据图边缘的用于区分边界的黑线是否算作一个方块)和最佳的斜线建筑方法(实际上就是利用斜线与竖直线和水平线的三角函数值求出单位面积内所需要旋转的方块数目然后除以实际方块边数得到单位斜线所需要的竖直线方块数量以及水平线方块数量并将多余的方块利用正态分布添加入靠近斜线中垂线的地方,此方法在后面文章中会有详细介绍)。刘宇昂在咨询刘老后当即表示同意,并给了我飞行和创世小木斧的权限。当我兴奋地在聊天栏打出“/gamemode 1”的时候,我便看到了这么一句话:


“You don't have permission to do this.”


不是给了我飞行权限吗,为什么用不了呀?


--刘老,我还是不能飞呀。

--不可能,我给了你权限的。

--真的飞不了。

--你再输入/fly试试,我给了你权限的。

--哦......我没事了,再见,


所以,飞行的指令是/fly......不是设置创造模式的指令......哦......

当我输入正确指令后,我终于可以飞起来了。

然而,当我拿出小木斧时,我发现我还是没有权限使用指令。


--忘记给你说了,创世神在服务器里使用的不是木斧,是木棍。

--为什么我不能用创世神了?

(你体会过在和别人对话时同时点击发送键但是对方的对话框却先出来的痛苦吗?)

--创世神也不能用吗?

--额......不......可以用......没事了,再见。


为什么会更改插件的默认设定呀,这样子很好玩吗?不熟悉创世神的人很容易混淆概念好吗?

首先,拿出我的小木棍......小木棍......我的小木棍呢?

木棍需要用木头合成,但是我说过,天府广场所在的陆地是填海造陆,因此方圆百里之内别说十里桃花了,就算是跑三生三世都找不到一朵桃花。

但是这是刘宇昂已经下线了,于是我只能先睡一觉,明天再说了。(上一篇文章提到首日建筑后的第二天就是我建设喷泉绿地的那一天。实际上第二天应该是我调试创世神和标记数据点的那一天,建设喷泉绿地是第三天,上一篇文章笔误。)

第二天上午,我又上线了。如我所料,我找到了正在建设的刘老和刘宇昂。


--刘老,能给根木棍吗?

--给。


拥有了小木棍的我就像有了4-氟-5-氯邻苯二甲醛一样兴奋,我在用木棍左键了一个方块以后,聊天栏里显示了这样的一行字:(我知道你们一定不会懂这个梗,因此我就直说了:4-氟-5-氯邻苯二甲醛是氟氯双醛用系统命名法写出的名称)


The first position is set to (-129,876).


这说明什么!这说明什么!这说明创世神已经正常启动了!在右键另外一个方块后,又显示了这么一行字:


The secong position is set to (-129,876).


看来这次完全没有问题呀,来吧,一键替换方块!//set 0 !


You don't have permission to do this.


--刘老......

--啥事儿?

--你咋不来帮忙呢?

--(⊙o⊙)…

--愣着干啥?

--(⊙o⊙)…

--下线了?

--(⊙o⊙)…

--我不能用创世神,显示没有权限。

--怎么可能,我把你拉进Builder权限组了的。

--真的不行。

--你再试试。

--还是不行

--(⊙o⊙)…

--刘老你为什么用我的表情?

--(⊙o⊙)…

--刘老?

--(⊙o⊙)…

--下线了?

--(⊙o⊙)…


然后,我就看到聊天栏里显示了这样一行字:


你已加入Builder组.


--你再试试。

--哦。


相同的步骤,拿起小木棍,左键方块,右键方块,然后输入指令。


You don't have permission to do this.


嗯......


--刘老,还是不行。

--不可能,我又把你拉了一次。

--首先,请注意文明用语;其次,我真的没有权限。

(为什么我提到文明用语?因为当时我的脑补图是这样的:


                               
登录/注册后可看大图

呵呵o(* ̄︶ ̄*)o)

--我再拉你一次。


                               
登录/注册后可看大图

然后,我又在聊天栏里看到了一行字:


你已加入Builder组.


然后我又试了一遍,还是不行。对此,刘老表示“好奇怪,其他人都可以,就你不行”......怪我咯?


--算了,我还是去计算剩下的数据吧。


于是,我就去计算数据了。(那一天后面发生的事情下一篇文章再讲)


然后,第三天,本文开头初始时间段,也就是我建设喷泉绿地的那一天,在我准备建设绿地时,我意识到了一个非常残忍的事实:我没有创造权限。

由于我们团队有很多人,而大部分人都没有经常参与团队活动,因此,大部分人的网络素质实际上是不可信的,例如有了创造权限后用TNT炸毁其他人费尽精力建造出的建筑等等。也正是因为这个,刘老只给了他自己和刘宇昂创造权限。因此,其他人进行建筑时只能由刘宇昂发材料,然后用发到的材料进行建筑。

理论上来说,我可以直接利用创世神一键替换方块(由于喷泉绿地是规则四边形,因此可以用这种方法),但是我的创世神使用不了,因此我只能自己手动挖方块然后手动填方块。然而当时我背包里什么都没有,不过幸运的是,刘宇昂正好当时也在服务器里建筑,于是,我就决定去找刘宇昂拿材料:


--刘宇昂,给我材料。我要一把附魔耐久III、效率IV、精准采集的钻石镐,还有几组草方块。


这里解释一下:附魔是Minecraft里的特性,不同的附魔能为工具增添不同的效果。每个工具都有一定耐久,每挖掉一个方块就会掉一点耐久,耐久变为0以后工具就会消失;耐久III是一种特殊附魔,能够在工具挖掉方块是有一定几率不掉耐久,从而提高使用时间。效率附魔能够加快挖方块的速度,精准附魔能够使挖下来的方块保持原样,例如石头被精准附魔的工具挖掉会直接掉落石头,而不是原版里的圆石。

为什么我要这些附魔呢?耐久是为了增加镐子使用时间,这样我就不需要时不时找刘宇昂拿镐子了;效率是为了挖方块的速度更快;至于精准采集......原版里石头挖掉之后会变成圆石,圆石的材质与石头的不一样,如果我挖错了需要重新填回去,用圆石会破坏整体的材质,虽然最后都看不见这些方块,但是......有强迫症的我绝对不能忍!

在刘宇昂将我所需要的工具拿给我之后,我就开始挖方块。

我当时想的是,虽然我没有创世神权限,但是我用效率IV的钻石镐挖方块也一定非常快,也比较节省时间,因此我没有计算我挖所有方块所需要的时间。(效率IV的钻石镐理论上应该能够在1s内挖掉17个方块,根据我在生存里的经验,这种速度就是只按一下鼠标都能挖掉两个方块的情况。但是不知为什么,当时并没有这种效果,挖方块的速度还是0.3s/个。最关键的是,我特么竟然没有发现!!!没有发现!!!)

当刘宇昂建完一部分闲的没事来看我的时候,我还在挖方块。

由于我是先挖出整个区域的边框,然后挖空内部结构,因此很容易就看出我挖的是一个矩形。估计是刘宇昂嫌我挖的速度实在太慢了,直接一个 //set 0 帮我把区域内的方块全部清理了......

然后我就开始放草方块,一个一个放。在我还没有放完5个方块时,刘宇昂又一个 //set 2帮我全部搞定了,然后他又去忙它的建筑了......我也

继续挖另外一边的矩形~

在我挖到一半时,刘老忽然从我头上飞过,然后在聊天栏里打出了这样的字样:


--为什么林雨航还在刀耕火种?

--因为我不能使用创世神呀。

--奇怪,其他人都行,就你不能用。

--真的,不信你给我一根木棍我试给你看。


然后刘老就给了我一根木棍。我当时就开始实验,还是拿着木棍左键方块,然后右键方块,然后输入指令......明明是同样的配方,却不是同样的味道......

一瞬之间我的屏幕电光一闪,在我还没来得及反应的0.01s后,聊天栏里又出现了以下字样:


4 blocks have been placed.


(⊙o⊙)…

(⊙o⊙)…

(⊙o⊙)…


--可以耶......AMAZING......

--那开干吧


明明昨天试了那么多次都不行,今天却行了,简直是AMAZING~关键是我还给刘老说我不能使用创世神......好尴尬呀~


然后就是繁琐的建筑过程了。由于上一篇文章已经将所有数据计算出来,因此剩下的就是一个方块一个方块地建筑了,完全没有什么技巧可言,除了常用 //set 和 //walls 指令。因此本文不对此做太多讲述。放一个动图吧。


                               
登录/注册后可看大图
(图源网络)

在我认为我建完之后,我将建筑成果的俯视图截图,发到我们的QQ群中:


--喷泉没有水吗?

--???

--你只铺了瓷砖,没有放水。

--???


解释一下,我们谈论的是这个区域:


                               
登录/注册后可看大图

由于我用于计算的俯视图分辨率过低,我只能看见这一块是白色,因此我用的是石英块全部填充。而另外一个人质疑的是,他认为,这块区域应该是喷泉。在争论无果后,我上网查找了一些资料:


                               
登录/注册后可看大图

根据这张图片,我可以清晰地看到,确实有喷泉,而白色矩形只不过是喷泉底部的花纹罢了。而我建筑时却把这个部分全部修建为白色瓷砖。

于是,我就开始改建,将所有方块下移一层并不难,但是水流怎么修建呢?

从上图可以看到,喷泉是有非常复杂的图案的,但是Minecraft里一个方块边长为1m,因此是不可能修建这么精密的图案的。

但是,仅仅这么一个困难是不可能难住我们的。(感谢刘宇昂提供思路)在Minecraft里,水流的特性是,竖直向下流动一格后会延展为3×3的水柱;而Minecraft里的栅栏拥有1格的碰撞体积,也就是说,栅栏所处的那一个方块是不会有水的。只要我将水放在五格高的位置,在其正下方放一个栅栏,就能制造出简易的喷水效果。


                               
登录/注册后可看大图

如果觉得这个图比较抽象,那么可以看下面的效果图:


                               
登录/注册后可看大图

将这种小型喷泉添加进喷泉绿地,不仅能够营造出喷泉的效果,而且还保证了美观,何乐而不为呢?

将小型喷泉加入之后,喷泉的喷泉部分的建设正式完工。虽说建设过程中没有什么技巧,但是在建设绿地部分时我还是用了一点数学上的比较方法:

建设绿地时我有两种想法:①先铺上所有红色羊毛地毯,然后打掉黄色羊毛地毯所放置的地方,最后把黄色羊毛地毯铺上去;


                               
登录/注册后可看大图

②一次性填完所有羊毛地毯,边填边换。

将两者相比较,就会发现实际上是比较我从喷泉绿地的一端到另一端往返两次的时间和在又准备的情况下不连续滚动鼠标滚轮196次的时间。

也许你认为②会比较快,但是实际上,只要我利用传送指令,往返两次的时间不过几秒钟而已,因此,我采用了①。

喷泉绿地的建设至此完全结束,后面发生的事,后面再讲。





                               
登录/注册后可看大图






                               
登录/注册后可看大图


来自群组: 学谷组
楼主热帖
立人创客、创客立人
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开
Loading...
快速回复 返回顶部 返回列表