如何使相机通过触摸进行翻译?

时间:2015-10-07 13:37:48

标签: c# unity3d

如何在触摸时翻译相机?它向左或向右移动是正确的,但上下不是。

到目前为止,这是我的代码:

if (Input.touchCount == 1)
{
    Touch currentTouch = Input.GetTouch(0);

    if (currentTouch.phase == TouchPhase.Began)
        this.dragOrigin = this.getWorldPoint(currentTouch.position);

    if (currentTouch.phase == TouchPhase.Moved)
    {
        Vector3 worldDelta = getWorldPoint(currentTouch.position) - this.dragOrigin;

        Vector3 move = new Vector3 (worldDelta.x * dragSpeed, worldDelta.y * dragSpeed, 0);

        Camera.main.transform.Translate(move.x, move.y, 0);
    }
}

1 个答案:

答案 0 :(得分:2)

根据您的世界坐标系,Y可能是高度(向上/向下),因此您可能需要使用worldDelta.z而不是worldDelta.y(您还需要调整Translate调用的参数以移动相机适当)。

希望有所帮助!