카테고리 없음

Unity - 안드로인드센서

zelkova 2020. 8. 25. 10:42

<목차로 돌아가기>

 

 

안드로이드 센서의 종류

 

선형가속도(ACCELEROMETER)

중력에 대한 가속도가 포함된 가속도값을 측정합니다.

x : 액정이 나의 왼쪽 방향으로 직각으로 세우면 -1, 액정이 나의 오른쪽 방향으로 직각으로 세우면 1

y : 액정이 나를보게 작각 으로세우면 -1, 액정이 나와 반대로 지각으로 세우면 1

z : 액정이 바닥에 1, 액정이 하늘로 -1

 

 

각속도 센서(GYROSCOPE)

장치가 회전하는 값읠 rad/s 의 값으로 측정합니다.

Gyro rotation rate  : 회전 가속도값

Gyro attitude : m_Gyro.attitude : 현재의 휴대폰 각도.

 

자이로센서관련 소스 <참조링크>

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

public class ManageCamera : MonoBehaviour {
    GameObject camParent;


	void Start () {
        camParent = new GameObject("CamParent");
        camParent.transform.position = this.transform.position;
        this.transform.parent = camParent.transform;
        Input.gyro.enabled = true;

	}
	
	
	void Update () {
        camParent.transform.Rotate(0, -Input.gyro.rotationRateUnbiased.y, 0);
        this.transform.Rotate(-Input.gyro.rotationRateUnbiased.x, 0, 0);

	}
}

 

나침반(Compas,MAGNETIC)

나침반센서라고도 불리며 주변의 자기장의 변화나, 지구의 자기를 측정합니다.

 

magneticHeading : 자북극(magnetic North Pole)에 대한, 각도단위의 방향을 나타냅니다. (Float 반환)

trueHeading : 지리적 북극을 기준으로 각도를 나타냅니다.(Float반환)

headingAccuracy : microteslas에서 측정된 raw 지자기 데이터 (읽기전용)

 

 

참조소스

transform.rotation = Quaternion.Euler(0, -Input.compass.trueHeading, 0);

 

 

 

 

기타 참조 소스

 

void Start()
{
  Input.gyro.enabled = true;
  Input.compass.enabled = true;
}


void Update()
{
  txt_Debug.text = "acceleration : " + Input.acceleration
  + "\r\nGyroRotationRate : " + Input.gyro.rotationRate
  + "\r\nGyroAttitude : " + Input.gyro.attitude
  + "\r\nCompassMagneticHeading : " + Input.compass.magneticHeading
  + "\r\nCompassRawVector : " + Input.compass.rawVector
  + "\r\nCompassTrueHeading : " + Input.compass.trueHeading;
}

 

반응형