最近项目上的事,忙的不可开交。忙里偷闲,记录下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 = ; //处于飞行状态,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的按钮

Oculus中OVRPlayerController飞行视角的制作的更多相关文章

  1. WPF中桌面屏保的制作(主要代码)

    原文:WPF中桌面屏保的制作(主要代码) 制作要点:(1) 使用System.Windows.Threading.DispatcherTimer;(2) 将Window属性设置为:      this ...

  2. 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具

    查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...

  3. 利用CSS中的:after、: before制作的边三角提示框

    小颖昨天分享了一篇参考bootstrap中的popover.js的css画消息弹框今天给大家再分享一篇使用:before和:after伪元素画消息弹框的CSS. 画出来是介个酱紫的: 有没有觉得画的萌 ...

  4. 用H5中的Canvas等技术制作海报

    在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...

  5. Android的Recovery中font_10x10.h字库文件制作

    任务是要汉化Android中的Recovery,就了解了bootable/recovery/minui/font_10x18.h这个英文字库的来历,最终汉化的时候并没有自己汉字字库,用的github上 ...

  6. PPT中翻书动画的制作

    一.新建一个空白的PowerPoint文档.   二.制作两个页面:   1.点击“自选图形”右边的小三角,选择“基本图形”下的“折角形”图形,在PowerPoint中画出一个书页样的图形,宽度最好小 ...

  7. Scaleform 中的 3D视角相关研究

    参考文献: 1.D3D中的第一人称视角 2.透视投影的原理和实现 http://blog.csdn.net/ww51xh/article/details/2910 3.深入探索透视投影变换 http: ...

  8. [osgearth][原]仿照谷歌,修改oe漫游器中focal(视角切换)功能

    oe中的视角加速感觉好奇怪,就仿照谷歌方式去改了. 先看看oe原来的漫游器改变视角的接口: void CameraManipulator::setViewpoint(const Viewpoint&a ...

  9. 关于Unity中UI中的RawImage节点以及制作地图滚动效果

    一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawI ...

随机推荐

  1. 尝试自己翻译了FreeCodeCamp的文章,技术方面多认识了几种技术,文章标题:Transparency in Action Free Code Camp is Now Open Source

    这是FreeCodeCamp其中一篇文章,趁着学习英文的时间,翻译这篇文章,其中讲到作者创建FCC过程,本文属于原创,第一次翻译,翻译还有诸多不足之处,请大家包含. 原文地址:https://medi ...

  2. 终端启动apache,mysql服务;登录mysql服务器

    sudo apachectl start sudo mysql.server start sudo apachectl help 查看帮助 mysql -hlocalhost -uroot -p ma ...

  3. 第一篇:白话tornado源码之一个脚本引发的血案

    本系列博文计划: 1.剖析基于Python的Web框架Tornado的源码 2.为Python开发一个完善的MVC框架 首先将带着大家一起来剖析基于python编写的Web框架 tornado ,本着 ...

  4. asp.net中http提交数据所遇到的那些坑

    http提交数据有两种形式,get和post,不知道的同学请联系度娘. 1.aspnet:MaxHttpCollectionKeys 业务场景:业务很简单,手机端读取本地通讯录,将所有通讯录提交到后台 ...

  5. neXtep 安装过程整理

    1 授权root用户远程登录 2  文件下载 http://www.nextep-softwares.com/ 选择DOWNLOAD NOW 选择你需要的版本 我选择的版本是 neXtep.1.0.7 ...

  6. Could not find a getter for id in class 的异常

    检查.hbm.xml里边的id是否大小写一致

  7. REM 布局

    1.rem是什么? rem(font size of the root element)是指相对于根元素的字体大小的单位 2.为什么web app要使用rem? 实现强大的屏幕适配布局(淘宝,腾讯,网 ...

  8. SQLServer数据库监控代码

    SQLServer数据库监控代码: creation_time, total_worker_time, last_worker_time, max_worker_time, min_worker_ti ...

  9. struts 异常机制

    1.try-catch 在Action中通过try-catch捕获异常,在catch中返回字符串, 通过返回的字符串在Action的result元素中进行匹配,最终返回响应的页面 2. 局部异常映射 ...

  10. Linux下man手册使用

    在 linux 环境下,为了查看一下 free 函数的原型,执行 man free 命令,发现显示结果为系统的 free 命令帮助,而不是库文件中的 free 函数帮助.查阅了一下,发现 man 的使 ...