Unity中物体的缩放功能是整体缩放,想要有单边缩放的效果,需要做一些特殊处理。
1.添加层级
(1)创建一个空的游戏对象并重置位置、比例。
(2)移动要缩放的游戏对象,使空游戏对象的中心位于您要缩放游戏对象的边缘。
(3)将这个游戏对象作为这个空游戏对象的子对象。现在,尝试缩放空的游戏对象,它将在一个方向上缩放。
2.缩放物体的同时进行位移
float size = 12;//物体实际大小
void Update()
{
if (Input.GetMouseButtonDown(0))//LeftMouseButton
{
IncreaseObjectSize(2f, new Vector3(1f, 0f, 0f));
}
else if (Input.GetMouseButtonDown(1))//RightMouseButton
{
DecreaseObjectSize(2f, new Vector3(1f, 0f, 0f));
}
}
public void IncreaseObjectSize(float amount, Vector3 direction)
{
transform.position += direction * amount / 2 * size;
transform.localScale += direction * amount;
}
public void DecreaseObjectSize(float amount, Vector3 direction)
{
transform.position -= direction * amount / 2;
transform.localScale -= direction * amount;
}