본문 바로가기
NOTE/Unity

[Unity] Mobile & Input 2

by DevAthena 2016. 9. 30.

개인적으로 api랑 이것 저것 보면서 정리한 글


[Input에 대한 Unity Scripting api url]

https://docs.unity3d.com/kr/current/ScriptReference/Input.html


[Input]

- 모바일 장치의 멀티터치 / 가속도계 데이터에 접근을 하는 경우 이 클래스 사용

- Update에서 관찰


[Input.acceleration]

- 가속도 읽어서 변형에 적용시켜보기

public class ExampleClass : MonoBehaviour {
    public float speed = 10.0F;
    void Update() {
        Vector3 dir = Vector3.zero;
        dir.x = -Input.acceleration.y;
        dir.z = Input.acceleration.x;
        if (dir.sqrMagnitude > 1)
            dir.Normalize();
        
        dir *= Time.deltaTime;
        transform.Translate(dir * speed);
    }
}


[Input.anyKey]

- 아무키나 눌렸을 때


[Input.compass]

- 자이로 센서를 이용한 나침반 기능


[Input.gyro]

- 기본 자이로 스코프 반환

- Gyroscope 클래스


[Input.location]

- 위치정보에 접근

- LocationService 클래스


[Input.touchCount]

- 현재 손가락 몇개가 터치되어있나


[Input.GetTouch(0)]

- position : 터치한 위치

- deltaPosition : 터치한 화면의 위치가 바뀐 정도

- tapCount : 연속 터치 횟수

- phase : 터치 상태를 나타내며 TouchPhase 와 비교해서 사용함

TouchPhase.Began : 터치 시작

TouchPhase.Canceled : 사용자 얼굴이 장치에 가까이 오거나 5개 이상 터치가 동시에 발생할 때

TouchPhase.Ended : 터치 끝남

TouchPhase.Moved : 누른 상태로 움직일 때

TouchPhase.Stationary : 누른 상태로 안움직일 때


[Input.GetButton("Fire")]

- Fire 버튼을 눌렀나.

- 누르고 있는 동안 true

- 무기를 쏘는 것과 같은 액션 트리거 이벤트를 구현하는 경우에만 사용



[Input.GetAxis]

- 입력값에 따라 -1에서 1까지의 값을 가진다.

- 움직임을 다룬다.