Unity-根据手柄位置拖动以调整尺寸/缩放平面?

时间:2020-10-19 22:46:03

标签: c# unity3d scale mesh

好吧,我找不到任何已完成的示例,并且尝试产生奇怪的结果-我需要拖动以使用以下控件调整扁平化立方体的大小(如平面,但必须具有厚度,因此它必须是立方体)角落。就像桌面上的窗口一样。

到目前为止,我已经创建了我的手柄平面,并通过附加到我的多维数据集平面的脚本获得了它。立方体平面和手柄是要应用比例的空的子元素,以便立方体平面根据需要从左向右缩放:

enter image description here

这行得通,但是我尝试使用增量比例手柄位置以过多方式或在奇数方向上缩放父级空比例尺。

Awake() {
scaleHandle = GameObject.FindGameObjectWithTag("ScaleHandle");
        scaleHandleInitialPos = scaleHandle.transform.localPosition;
}

Update()
{

width += -1*(scaleHandleInitialPos.x - scaleHandle.transform.localPosition.x);
        height += -1 * (scaleHandleInitialPos.y - scaleHandle.transform.localPosition.y);

        transform.parent.localScale = new Vector3(width, height, thickness);
}

这是怎么了?

层次结构:

enter image description here

孩子的转变:

enter image description here

每隔Update()次更新initialPos或进行width = scaleHandle.transform.localPosition.x / scaleHandleInitialPos.x;,其中白色正方形是scaleHandle

enter image description here

0 个答案:

没有答案