Unity 홈페이지의 강좌를 정리한 내용입니다.
[Touch]
- Input 클래스를 사용하고, 여러 터치가 들어오면 Array로 처리된다.
- myTouch.deltaPosition은 Vector2의 Last Frame과 First Frame으로 터치의 무빙도 입력받을 수 있다.
using UnityEngine;
using System.Collections;
public class TouchTest : MonoBehaviour
{
void Update ()
{
Touch myTouch = Input.GetTouch(0);
Touch[] myTouches = Input.touches;
for(int i = 0; i < Input.touchCount; i++)
{
//Do something with the touches
}
}
}
[Accelerometer]
- 모바일의 가속도 센서를 이용해서 물리 방향 관련 정보를 확인 할 수 있습니다.
- 가속도계의 축은 Unity 상에서의 축과 일치하도록 설정 합니다.
- Y는 수직축 X는 수평축 Z는 깊이축입니다.
transform.Translate(Input.acceleration.x, 0, -Input.acceleration.z);
[Pinch to Zoom]
using UnityEngine; public class PinchZoom : MonoBehaviour { public float perspectiveZoomSpeed = 0.5f; // The rate of change of the field of view in perspective mode. public float orthoZoomSpeed = 0.5f; // The rate of change of the orthographic size in orthographic mode. void Update() { if (Input.touchCount == 2) { Touch touchZero = Input.GetTouch(0); Touch touchOne = Input.GetTouch(1); Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition; Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition; float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude; float touchDeltaMag = (touchZero.position - touchOne.position).magnitude; float deltaMagnitudeDiff = prevTouchDeltaMag - touchDeltaMag; if (camera.isOrthoGraphic) //직교 { camera.orthographicSize += deltaMagnitudeDiff * orthoZoomSpeed; camera.orthographicSize = Mathf.Max(camera.orthographicSize, 0.1f); } else //원근 { camera.fieldOfView += deltaMagnitudeDiff * perspectiveZoomSpeed; camera.fieldOfView = Mathf.Clamp(camera.fieldOfView, 0.1f, 179.9f); } } } }
-
'NOTE > Unity' 카테고리의 다른 글
[Unity] 오브젝트 풀링 참고 소스 (펌) (0) | 2016.10.04 |
---|---|
[Unity] Mobile & Input 2 (0) | 2016.09.30 |
[Unity] 짧은 개념 정리 (0) | 2016.09.29 |
[Unity] 힙 메모리 최적화와 오브젝트 풀링 (펌) (0) | 2016.09.27 |
[Unity] C# 스크립팅 마스터하기 BOOK 요약정리2 (0) | 2016.09.27 |