我想要一个 C# 脚本,所以当我按住右键时,它会放大一点,当你停止按住右键时,它会返回到原来的位置。
您首先要存储原始相机的 z 距离。 (我假设你希望它沿 z 方向前进)。然后你会想要一个浮动的书本缩放量被按下。 (缩放时增大,不单击时减小)。 还有一个目标 z,所以不会走得太远
public float startZ;
public float targetZ;
public float zoomInSpeed;
public float zoomOutSpeed;
float heldDownTime;
float originalZ;
void Start()
{
startZ = transform.position.z;
}
void Update()
{
if (Input.GetKey(KeyCode.Mouse0))
{
heldDownTime += Time.deltaTime * zoomInSpeed;
}
else
{
heldDownTime -= Time.deltaTime * zoomOutSpeed;
heldDownTime = Mathf.Clamp(heldDownTime, 0, Mathf.Infinity);
}
float smoothed = System.Math.Tanh(heldDownTime);
Vector3 pos = transform.position;
transform.position = new Vector3(pos.x, pos.y, startZ + smoothed * (targetZ - startZ));
}
我基本上按住时间,然后将其平滑,这样它就不会缩放到很远的位置。
如果您遇到任何错误,请在评论中告诉我!