【发布时间】:2018-12-06 22:40:04
【问题描述】:
我是 Unity 新手,需要一些帮助,非常感谢任何答案!
我正在尝试创建一个弹性平面,我想通过拖动来拉伸它。我想使用 ctrl+鼠标左键通过 x 轴拉伸整个平面,使用 alt+鼠标左键通过 y 轴拉伸整个平面。 然后我想通过使用鼠标左键并沿任何方向拖动来拉伸沿平面边界的单个多边形。
到目前为止,我已经设法使用鼠标左键或右键,使用下面的脚本来拉伸整个平面,但我无法限制它可以拉伸的距离,所以我希望有任何关于如何拉伸的提示也这样做。对于拉伸单个多边形,我研究了布料修改器并尝试附加可移动对象,但根本无法使其工作。 感谢您的帮助!
public GameObject elasticobject;
public float sizingFactor = 0.1f;
private GameObject lastSpawn = null;
private float startSize;
private float startX;
void Update()
{
if (Input.GetMouseButton(0))
{
Vector3 size = elasticobject.transform.localScale;
size.x = startSize + (Input.mousePosition.x - startX) * sizingFactor;
elasticobject.transform.localScale = size;
}
if (Input.GetMouseButton(1))
{
Vector3 size = elasticobject.transform.localScale;
size.y = startSize + (Input.mousePosition.y - startX) * sizingFactor;
elasticobject.transform.localScale = size;
}
}
}
【问题讨论】:
-
Mathf.Clamp 是你的朋友。