Oculus中OVRPlayerController飞行视角的制作

最近项目上的事,忙的不可开交。忙里偷闲,记录下Oculus飞行视角的制作

师兄给我的要求是,带上Oculus,通过remote和头盔操作,可以完成飞行
我的解决办法:1、消除重力的影响,如同在真空中,就可以不会掉下。
       2、逐步修改位置,叠加眼睛正前方的标量,完成飞行。

using UnityEngine;
using System.Collections;

public class flyingCarper : MonoBehaviour {
    //OVR人的预制体Transform组件
    private  OVRPlayerController com_OVRControl;
    //头盔眼镜Transform组件
    private Transform eye_transform;
    
    //飞行速度
    public int speed = 10;

    //处于飞行状态,T是,F否
    private bool fly_flag = false;

    void Start () {
        com_OVRControl = GetComponent<OVRPlayerController> ();
        eye_transform =  GameObject.Find("CenterEyeAnchor").GetComponent<Transform> ();

    }
    
    void Update () {
        if(fly_flag){    //处于飞行状态
            if (OVRInput.Get (OVRInput.RawButton.DpadUp)) {    //按住remote,前进按钮
                fn_forward ();                                                        //前进
            }
            if (OVRInput.Get(OVRInput.RawButton.DpadDown)){    //按住remote,后退按钮
                fn_back ();                                                            //后退
            }
        }
    }

    public void reciveCheck(bool flag){
        if (flag) {
            com_OVRControl.GravityModifier = 0f;                    //修改重力为0
            fly_flag = true;                                                        //飞行状态置为true
        }else {
            com_OVRControl.GravityModifier = 1f;                    //修改重力为1
            fly_lag = false;                                                        //飞行状态置为false
        }
    }

    private void fn_forward(){                                            //看向哪里就向那里飞行
        this.transform.position +=(eye_transform.forward*speed*Time.deltaTime);
    }

    private void fn_back(){                                                    //看下哪里,就与相反的方向飞行
        this.transform.position -=(eye_transform.forward*speed*Time.deltaTime);
    }

}

新的知识点:1、OVRPlayer中OVRPlayerController组建中可设置重力为0;

      2、OVRInput.Get (OVRInput.RawButton.DpadUp)检测remote的按钮

posted @ 2016-12-23 15:07  杜亿  阅读(932)  评论(0编辑  收藏  举报