개발/Unity
유니티 - 멀티 터치 드래그로 오브젝트 크기 변경하기 (Change Object Scale with Multi Touch Drag)
피로물든딸기
2023. 7. 15. 20:18
반응형
참고
- 멀티 터치 드래그를 이용하여 카메라 줌 인 / 아웃
오브젝트를 멀티 터치 드래그로 크기를 변경해보자.
동작 원리는 멀티 터치 드래그를 이용하여 카메라 줌 인 / 아웃과 같다.
각각의 오브젝트에 있는 스크립트의 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가 필요하다.
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
반응형