Unity3D基于陀螺仪实现基于陀螺仪实现VR相机功能相机功能
Unity自带陀螺仪功能,今天就利用陀螺仪实现一个VR相机功能。步骤如下:
1、打开Unity,创建一个新的C#脚本GyroController.cs,并挂在MainCamera游戏对象上,如图:
代码如下:
using UnityEngine;
using System.Collections;
public class GyroController : MonoBehaviour
{
// Fields
private readonly Quaternion baseIdentity = Quaternion.Euler(90f, 0f, 0f);
private Quaternion baseOrientation = Quaternion.Euler(90f, 0f, 0f);
private Quaternion baseOrientationRotationFix = Quaternion.identity;
private Quaternion calibration = Quaternion.identity;
private Quaternion cameraBase = Quaternion.identity;
private bool debug = true;
public static bool gyroAvaiable;
private bool gyroEnabled = true;
private Quaternion gyroInitialRotation;
public static bool gyroOff;
private Quaternion initialRotation;
private readonly Quaternion landscapeLeft = Quaternion.Euler(0f, 0f, -90f);
private readonly Quaternion landscapeRight = Quaternion.Euler(0f, 0f, 90f);
private const float lowPassFilterFactor = 0.1f;