LocusAzzurro
本帖最后由 LocusAzzurro 于 2021-6-13 17:11 编辑

http://ww2.sinaimg.cn/mw690/0062Lzp6gw1ezzswgfzlnj30m80go0vo.jpg


使用表达式来控制你的百变选区!

大家好,这里Az,最近完成了对WorldEdit中//deform指令的研究,在这里与大家分享一下获得的成果,发掘这个功能更多的潜能。

目录

I.指令简介
II.指令结构与使用方式
III.可用标示
IV.坐标范围
V.变换方程-加减(移动)
VI.变换方程-乘除(缩放)
VII.函数的使用
VIII.特殊函数-旋转与翻转
IX.源坐标的使用
X.移动后源坐标的使用
XI.使用例子
XII.相关资料与来源
XIII.后记

阅读提示:你可能需要如下知识来理解本文并了解它的使用方式


注意本文内容虽然与//generate指令研究同源,但二者为WorldEdit下的不同功能

WorldEdit插件系列教程(作者 shengjing1): http://www.mcbbs.net/thread-68779-1-1.html
WorldEdit插件资源(作者 sjjklh): http://www.mcbbs.net/thread-68815-1-1.html
WorldEdit插件简短介绍:
WorldEdit是一个常用的地图编辑工具,玩家可以利用它进行许多建筑中的操作,加快施工速度,同时也提供了许多便捷的功能。





2021/06/13 18:10 GMT+1 图片重修复与纯文本流线化完成

来自群组: Minecraft插件百科

LocusAzzurro
本帖最后由 LocusAzzurro 于 2021-6-13 15:39 编辑

I.指令简介

//deform 为WorldEdit中的一个指令,作用是根据用户给出的表达式对选区进行变换。 这个功能是WorldEdit的强大功能之一,可以按照用户的需求对选区进行转换,可以达到旋转,拉伸,移动选区内容的效果。在本文中我将向各位分享这个指令的使用方式,需要注意的地方,以及一些实例,也希望各位共同发现它更多的潜能。在正式开始之前,我们先来看一个例子了解它的能力:
http://ww1.sinaimg.cn/mw690/0062Lzp6gw1ezzsgz36tjj311y0jiakj.jpg


上面的形体通过一个命令即可转换为:
http://ww2.sinaimg.cn/mw690/0062Lzp6gw1ezzsgp68saj311y0jlgwe.jpg


当然,这样看起来并不能很好的理解它是如何运作的,那么让我来一一了解它的功能,首先,我们通过上图使用的指令来了解指令的构成。

LocusAzzurro
本帖最后由 LocusAzzurro 于 2021-6-13 16:08 编辑

II.指令结构与使用方式

上图使用的指令是:
  1. //deform x+=sin(2*y)
复制代码

这其中://deform 为主指令x+=sin(2*y) 为使用的几何变换表达式

这里使用的表达式的写法与日常的有些不同,我们来看一下表达式需要注意的地方:

需要注意的地方有:

LocusAzzurro
本帖最后由 LocusAzzurro 于 2021-6-13 16:10 编辑

III.可用标示

在使用指令时,我们可以添加一个或多个标示来改变指令的运行方式,添加标示的方法很简单,只需要将标示像添加参数一样的方式添加至指令中即可。如:
  1. //deform -r y+=1
复制代码

可用的标示有两个,分别是-r与-o-r 会使变换时使用源坐标-o 会使变换时使用源坐标,同时将坐标系原点移动到玩家位置(或者玩家的第一选择点,如果使用了/toggleplace)
-r 与 -o 的效果冲突,因此-o的效果会覆盖掉-r的效果,推荐不要同时使用。
这里仅仅给出一个标示的基本介绍,在本文之后的章节中会一一介绍它们的效果,接下来我们首先来集中看一下不使用任何标示的情况。

LocusAzzurro
本帖最后由 LocusAzzurro 于 2021-6-13 16:13 编辑

IV.坐标范围

在不使用任何标示的情况下,WorldEdit会将当前的选区看做一个三维直角坐标系坐标系原点为选区中心
http://ww3.sinaimg.cn/mw690/0062Lzp6gw1ezzsgrz4kzj311y0jl7g7.jpg


如图,我用羊毛标出了三条坐标轴,WorldEdit使用的坐标轴系统与Minecraft的相同,即从西(负)到东(正)为X轴(红),从下到上为Y轴(黄),从北到南为Z轴(蓝)。
这个坐标系三条轴的界限为 -1 与 +1 ,也可以说生成的范围为 [-1;+1] ,注意这个界限仅在不使用标示存在,-r 与 -o 的运行方式完全不同,我们在下文会分别看到他们的生成方式。
上图使用金块和红石块标注的位置按前文所说应分别为为 (0;0.5;5)即Y值为0.5 ,与(0.5;0;0),即X值为0.5。
有人可能注意到到目前位置的操作使用的选区都是正方体,那么如果不是呢?这样的话坐标系就会被拉伸,几何变换的结果也会随之被拉伸,这还是因为选区的范围为从-1到+1造成的。
http://ww4.sinaimg.cn/mw690/0062Lzp6gw1ezzsgwcvjzj311y0jlqe4.jpg


如上图,选区Y轴的长度为X轴与Z轴的两倍,金块标注的点(0;0.5;0)也会变化,虽然它在坐标系内的位置仍是相同的。在接下来的一章我们将会看到长方体选区对几何变换的影响。


下一页 最后一页