天才一秒记住【第一中文网】地址:www.dyzww.cc
。我们能够看见z坐标轴和圆的边有两个交点,这两个交点也就是上面的A点和b点。
我们过圆心o作z坐标轴的垂线,分别交『水平朝向圆』的边于c、d两点。这个垂线也就是这名玩家局部坐标的x坐标轴。那么这个x坐标轴的正方向在哪里呢?你当然可以通过左正右负判断出来,但是这样子也过于浅显了一些。我们必须要找到c点和d点这两点分别的含义,才能确定x坐标轴的正方向在哪里。
由于x轴和z轴互相垂直,因此这里就形成了四个直角三角形——∠Aoc、∠Aod、∠boc和∠bod。由于这四个角都是圆心角,所以我们就可以得到它们对应的弧Ac、Ad、bc、bd的长度都是90°。
别忘了,这里的圆是『水平朝向圆』,所以这里弧长的实际意义都是水平旋转角度。在这边,我们把『水平朝向圆』所代表的旋转角度当成是相对水平旋转角度,A点为0°点,顺时针增加度数,因此我们就可以得到A、b、c、d四个点分别代表的度数:
A:0°
b:180°
c:90°(或270°,看你是怎样标的)
d:270°(或90°)
现在我们得到了这四个点所代表的『相对水平旋转角度』的度数。那问题来了,这个度数的实际意义是什么?
A为0°,代表着正前方;b为180°,代表着正后方;c为90°(或270°),代表着正右方向;d为270°(或90°),代表着正左方向。而据我们所知,局部坐标x轴的正方向是向右,所以在这边,x坐标轴朝向d点(或c点)的方向为正方向。
接下来,我们来看看『垂直朝向圆』,把最后的y坐标轴也画出来。还是故技重施,过圆心o作z坐标轴的垂线,分别交『垂直朝向圆』的边于E、F两点,这个垂线也就是这名玩家的y坐标轴。仔细观察E、F点,想象一下当玩家朝向改变时,E、F点会怎么运动。你会发现E点(或F点)不管怎么运动,都不会超出『垂直朝向圆』上代表着垂直旋转角度为0°~-180°的圆弧,也就是说不会跑到过o点水平线以下的位置。所以,这个y坐标轴朝向点E(或点F)的方向为正方向,朝向点F(或点E)的方向为负方向。
如果你能够理解上面的内容,那么恭喜你,你已经很清楚局部坐标与旋转角度的关系了。
但局部坐标的原点呢?
局部坐标的原点默认是执行者的脚部坐标,也就是执行地点。但我们可以通过execute指令来改变执行朝向的基准部位到眼睛,来改变局部坐标的原点位置。那么改变之后,局部坐标的原点会有什么变化呢?让我们来看看下面几条指令:
1\/execute as @s positioned 50.0 -60 50.0 anchored eyes run tp @s ^^^
2\/execute as @e[type=cow,limit=1] positioned 50.0 -60 50.0 anchored eyes run tp @s ^^^
运行第一条指令,你会发现你被传送到了(50.0,-58.38,50.0),y坐标并不是-60,而是抬高了1.62米。但如果我们运行第二条指令,你会发现牛被传送到了(50.0,-58.7,50.0),仅仅抬高了1.3米。所以说,当基准部位改变时,游戏会根据当前指令的执行者来判断眼部坐标的具体位置,而不是一定就抬高一个固定的值。如果执行者不是一个实体,那就没有眼睛,将不会对执行朝向的原点以及局部坐标的原点有任何的变化。
这就是局部坐标与执行朝向的关系。需
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!