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 = ; //处于飞行状态,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飞行视角的制作的更多相关文章
- WPF中桌面屏保的制作(主要代码)
原文:WPF中桌面屏保的制作(主要代码) 制作要点:(1) 使用System.Windows.Threading.DispatcherTimer;(2) 将Window属性设置为: this ...
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- 利用CSS中的:after、: before制作的边三角提示框
小颖昨天分享了一篇参考bootstrap中的popover.js的css画消息弹框今天给大家再分享一篇使用:before和:after伪元素画消息弹框的CSS. 画出来是介个酱紫的: 有没有觉得画的萌 ...
- 用H5中的Canvas等技术制作海报
在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...
- Android的Recovery中font_10x10.h字库文件制作
任务是要汉化Android中的Recovery,就了解了bootable/recovery/minui/font_10x18.h这个英文字库的来历,最终汉化的时候并没有自己汉字字库,用的github上 ...
- PPT中翻书动画的制作
一.新建一个空白的PowerPoint文档. 二.制作两个页面: 1.点击“自选图形”右边的小三角,选择“基本图形”下的“折角形”图形,在PowerPoint中画出一个书页样的图形,宽度最好小 ...
- Scaleform 中的 3D视角相关研究
参考文献: 1.D3D中的第一人称视角 2.透视投影的原理和实现 http://blog.csdn.net/ww51xh/article/details/2910 3.深入探索透视投影变换 http: ...
- [osgearth][原]仿照谷歌,修改oe漫游器中focal(视角切换)功能
oe中的视角加速感觉好奇怪,就仿照谷歌方式去改了. 先看看oe原来的漫游器改变视角的接口: void CameraManipulator::setViewpoint(const Viewpoint&a ...
- 关于Unity中UI中的RawImage节点以及制作地图滚动效果
一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawI ...
随机推荐
- 尝试自己翻译了FreeCodeCamp的文章,技术方面多认识了几种技术,文章标题:Transparency in Action Free Code Camp is Now Open Source
这是FreeCodeCamp其中一篇文章,趁着学习英文的时间,翻译这篇文章,其中讲到作者创建FCC过程,本文属于原创,第一次翻译,翻译还有诸多不足之处,请大家包含. 原文地址:https://medi ...
- 终端启动apache,mysql服务;登录mysql服务器
sudo apachectl start sudo mysql.server start sudo apachectl help 查看帮助 mysql -hlocalhost -uroot -p ma ...
- 第一篇:白话tornado源码之一个脚本引发的血案
本系列博文计划: 1.剖析基于Python的Web框架Tornado的源码 2.为Python开发一个完善的MVC框架 首先将带着大家一起来剖析基于python编写的Web框架 tornado ,本着 ...
- asp.net中http提交数据所遇到的那些坑
http提交数据有两种形式,get和post,不知道的同学请联系度娘. 1.aspnet:MaxHttpCollectionKeys 业务场景:业务很简单,手机端读取本地通讯录,将所有通讯录提交到后台 ...
- neXtep 安装过程整理
1 授权root用户远程登录 2 文件下载 http://www.nextep-softwares.com/ 选择DOWNLOAD NOW 选择你需要的版本 我选择的版本是 neXtep.1.0.7 ...
- Could not find a getter for id in class 的异常
检查.hbm.xml里边的id是否大小写一致
- REM 布局
1.rem是什么? rem(font size of the root element)是指相对于根元素的字体大小的单位 2.为什么web app要使用rem? 实现强大的屏幕适配布局(淘宝,腾讯,网 ...
- SQLServer数据库监控代码
SQLServer数据库监控代码: creation_time, total_worker_time, last_worker_time, max_worker_time, min_worker_ti ...
- struts 异常机制
1.try-catch 在Action中通过try-catch捕获异常,在catch中返回字符串, 通过返回的字符串在Action的result元素中进行匹配,最终返回响应的页面 2. 局部异常映射 ...
- Linux下man手册使用
在 linux 环境下,为了查看一下 free 函数的原型,执行 man free 命令,发现显示结果为系统的 free 命令帮助,而不是库文件中的 free 函数帮助.查阅了一下,发现 man 的使 ...