Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在2个Z轴点之间进行统一缩放,并相应缩放零部件_C#_Unity3d_Scale_Interpolation - Fatal编程技术网

C# 如何在2个Z轴点之间进行统一缩放,并相应缩放零部件

C# 如何在2个Z轴点之间进行统一缩放,并相应缩放零部件,c#,unity3d,scale,interpolation,C#,Unity3d,Scale,Interpolation,我正在使用Unity 3,我的总关卡大小将只是一个四边形区域,每边都有一面墙。在这将是两个额外的墙,创造一个封闭,限制玩家的一部分水平,逐渐扩大 我称这两堵墙为ZBoundary和XBoundary,到目前为止,一个原型已经将它们的运动映射到一些键盘键上。我想做的是,当一个移动时,另一个会变长,所以它们总是以垂直角度连接,所以我想能够在Z边界的Z坐标和X边界的Z坐标之间进行线性插值,以便它们总是相交并创建连接。这也产生了一个问题,因为我不知道如何以编程方式更改游戏组件的大小,并且不断出现错误 我

我正在使用Unity 3,我的总关卡大小将只是一个四边形区域,每边都有一面墙。在这将是两个额外的墙,创造一个封闭,限制玩家的一部分水平,逐渐扩大

我称这两堵墙为ZBoundary和XBoundary,到目前为止,一个原型已经将它们的运动映射到一些键盘键上。我想做的是,当一个移动时,另一个会变长,所以它们总是以垂直角度连接,所以我想能够在Z边界的Z坐标和X边界的Z坐标之间进行线性插值,以便它们总是相交并创建连接。这也产生了一个问题,因为我不知道如何以编程方式更改游戏组件的大小,并且不断出现错误


我知道向量3。lerp可能会有帮助,但我正沉浸在变换和不同的比例中,因此我非常感谢您的帮助。

我现在已经完成了一半,让XBoundary调整其位置,以便始终以90度锁定ZBoundary

        ZBoundaryRef.transform.Translate((-1 * distancePerZMovement), 0, 0, Space.World);
        // using Space.World so transforms are using the global coordinate system!

        // what I've done here is say, move the XBoundary Z-CoOrd so that it aligns with the ZBoundary Z-CoOrd.
        // the origin of an object is at it's centre point so we need to take this in to account to ensure they join at the corners, not in a Tshape!
        float difference = (ZBoundaryRef.transform.position.x - XBoundaryRef.transform.position.x);
        float adjustment = difference + (ZBoundaryRef.transform.localScale.x/2);
        XBoundaryRef.transform.Translate(adjustment,0,0,Space.World);