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 ...
随机推荐
- RSA加密
1.RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密? 答:公钥加密私钥可解,私钥加密公钥可解. 2.RSA非对称加密特点? 答:算法强度复杂.加密解密速度比对称加密解密的速度慢.一个公钥,对外开 ...
- Tyrion中文文档(含示例源码)
Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...
- [CC]点云密度计算
包括两种计算方法:精确计算和近似计算(思考:local density=单位面积的点数 vs local density =1/单个点所占的面积) 每种方法可以实现三种模式的点云密度计算,CC里面的 ...
- 主页面、iframe之间调用以及传值
主页面.iframe之间的调用和传值,无非就是两个交互形式: 主页面与子页面的交互 子页面之间的交互 接下来要讲的是四种交互传值的方式:利用postMessage方法传值.DOM操作传值.URL方式传 ...
- win10 pro 1511 激活成功
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms franklv.ddns.net slmgr /ato
- Java操作Excel: POI不能创建xlsm问题的方法(源自StackOverFlow)
write to xlsm (Excel 2007) using apache poi POI的下载(记得把其中的jar包全部加到工程里哦)http://mirror.bit.edu.cn/apach ...
- Js动态获取iframe子页面的高度////////////////////////zzzz
Js动态获取iframe子页面的高度 Js动态获取iframe子页面的高度总结 问题的缘由 产品有个评论列表引用的是个iframe,高度不固定于是引发这个总结. 方法1:父级页面获取子级页面的高度 ...
- DEV全选多选小技巧
var v1 = bindingSourceBase.DataSource as DataTable; foreach (DataRowView v in v1.DefaultView) { v[&q ...
- 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)
Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...
- Android 短信广播接收相关问题
本人是Android新手,最近做了一个关于监听手机短信功能的应用,我在网上看资料了解到广播分为有序广播和无序广播,有序广播:无序广播又称普通广播,其中的利弊我也一时没搞清楚,我用的是有序广播实现的,具 ...