개발/Unity

유니티 - 멀티 터치 드래그로 오브젝트 크기 변경하기 (Change Object Scale with Multi Touch Drag)

피로물든딸기 2023. 7. 15. 20:18
반응형

Unity 전체 링크

 

참고

- OpenGL로 멀티 터치 이펙트 만들기

- 멀티 터치 드래그를 이용하여 카메라 줌 인 / 아웃

 

오브젝트를 멀티 터치 드래그로 크기를 변경해보자.

 

동작 원리는 멀티 터치 드래그를 이용하여 카메라 줌 인 / 아웃과 같다.

각각의 오브젝트에 있는 스크립트의 OnMouseDrag에 아래와 같이 구현하면 된다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MultiTouchScale : MonoBehaviour
{
    float zoomSpeed = 0.05f;

    void OnMouseDrag()
    {
        if (Input.touchCount == 2)
        {
            Vector2 prevPos0 = Input.GetTouch(0).position - Input.GetTouch(0).deltaPosition;
            Vector2 prevPos1 = Input.GetTouch(1).position - Input.GetTouch(1).deltaPosition;

            float prevDistance = (prevPos0 - prevPos1).magnitude;
            float currDistance = (Input.GetTouch(0).position - Input.GetTouch(1).position).magnitude;

            float diff = currDistance - prevDistance;

            this.transform.localScale += this.transform.localScale * Time.deltaTime * diff * zoomSpeed;
        }
    }
}

 

OnMouseDrag에 구현했기 때문에 반드시 Collider가 필요하다.

 

반응형