steamvr unity 连接眼镜_unity SteamVR2.0 激光与UGUI交互(一)
效果图:
UGUI交互E.gif
发射激光:
在StemVR中自带有SteamVR_LaserPointer的脚本,是用来控制激光。
SteamVR_LaserPointer.png
开启激光:
SteamVrLaserPointer.GetComponent().enabled = true;
在开启激光时,会创建一个cube,用来模拟激光
关闭激光:
SteamVrLaserPointer.GetComponent().enabled = false; //射线关闭
SteamVrLaserPointer.GetComponent().pointer.transform.localScale = new Vector3(0, 0, 0);
UI互交:
使用UnityEvent的目的是,绑定事件可视化
image.png
private PointerEventArgs pointerEventArgs;
public SteamVR_LaserPointer SteamVrLaserPointer;
public UnityEvent mOnEnter = null;
public UnityEvent mOnClick = null;
public UnityEvent mOnUp = null;
void OnEnable()
{
SteamVrLaserPointer.PointerClick += SteamVrLaserPointer_PointerClick;
SteamVrLaserPointer.PointerIn += SteamVrLaserPointer_PointerIn;
SteamVrLaserPointer.PointerOut += SteamVrLaserPointer_PointerOut;
}
void OnDestroy()
{
SteamVrLaserPointer.PointerClick -= SteamVrLaserPointer_PointerClick;
SteamVrLaserPointer.PointerIn -= SteamVrLaserPointer_PointerIn;
SteamVrLaserPointer.PointerOut -= SteamVrLaserPointer_PointerOut;
}
private void SteamVrLaserPointer_PointerOut(object sender, PointerEventArgs e)
{
if (e.target.gameObject == this.gameObject)
{
if (mOnUp != null) mOnUp.Invoke();
}
}
private void SteamVrLaserPointer_PointerIn(object sender, PointerEventArgs e)
{
if (e.target.gameObject == this.gameObject)
{
if (mOnEnter != null) mOnEnter.Invoke();
}
}
private void SteamVrLaserPointer_PointerClick(object sender, PointerEventArgs e)
{
if (e.target.gameObject == this.gameObject)
{
Debug.Log(e);
if (mOnClick != null)
{
mOnClick.Invoke();
}
}
}
当获取手柄的GrabGrip键,按下就执行互交
steamvr unity 连接眼镜_unity SteamVR2.0 激光与UGUI交互(一)相关推荐
- steamvr unity 连接眼镜_Unity SteamVR插件集成
标签: 重要组件 SteamVR_Camera VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面 使用方法: l 在任一个摄像机上增加脚本 l 点击Expand按钮 完 ...
- steamvr unity 连接眼镜_unity Steam VR 手柄按键基本操作
获取按钮 方法一: 先定义 public SteamVR_Action_Boolean disk; 使用 disk.GetLastStateDown(SteamVR_Input_Sources.Any ...
- steamvr unity 连接眼镜_150度FOV,自研显示方案,Kura公布全新AR眼镜Gallium
去年11月,一家名为Kura的美国AR初创公司就曝光了一款视场角135度.亮度2000nit的AR光波导原型,其视场角和亮度数据远超现有AR方案,当时获了业内广泛关注. 近期,Kura创始人兼CEO ...
- [AR/VR教程] SteamVR Unity工具包(二):激光和移动
Simple Laser Pointer (VRTK_SimplePointer) 简单激光指针(VRTK_ SimplePointer) The Simple Pointer emits a col ...
- SteamVR Unity工具包(二):激光和移动
Simple Laser Pointer (VRTK_SimplePointer) 简单激光指针(VRTK_ SimplePointer) The Simple Pointer emits a col ...
- SteamVR2.0开发指南(Yanlz+Unity+SteamVR+Plugin+OpenVR+InputSystem+Kunckles+VIVE+Oculus+OpenXR+立钻哥哥++ok++)
<SteamVR2.0开发指南> 版本 作者 参与者 完成日期 备注 SteamVR2.0_Guide_V01_1.0 严立钻 2019.01.23 ++++SteamVR2.0开发指南: ...
- SteamVR Unity Tool Kit(二):激光与移动
Simple Laser Pointer (VRTK_SimplePointer) 简单激光指针(VRTK_ SimplePointer) The Simple Pointer emits a col ...
- Unity使用SteamVR2.0 SteamVRInput配置和使用
注意:Unity需要使用2020以上的版本 一:选择最新版本插件 1.下载SteamVRPlugin和VRTK v4 新版本的Unity,已经关掉了资源商店的功能,下载插件需求先去官网资源商店添加我们 ...
- SteamVR2.0 UGUI射线交互模拟
SteamVR2.0 UGUI射线交互模拟 文章目录 SteamVR2.0 UGUI射线交互模拟 前言 一.开始前要做的准备 1.在项目开始前应当把环境给搭建好,在Unity项目中把SteamVR导入 ...
最新文章
- 重写了博客上的代码着色脚本
- our reuse project in HCP
- palapa php,有什么办法可以在Android上运行PHP
- Android项目实战(三):实现第一次进入软件的引导页
- Linux开机启动过程(12):start_kernel()->还是setup_arch
- 如何在20130513image上,备份NAND到SD卡,然后把这个SD卡做成可以自启动的SD卡
- 一个优秀的测试如何在敏捷开发中体现自己的价值?
- mysql优化必知(mysql的语句执行顺序)
- 洛谷 题解 UVA1395 【苗条的生成树 Slim Span】
- ElasticSearch全文搜索引擎之Windows集群搭建
- Android-Studio 缓存文件夹配置
- 一个简单的apk破解
- 阿里云迁移工具推荐最佳实践:物理服务器迁移到阿里云
- windows环境下远程操作Linux的工具-Xshell WinSCP
- React---组件通信的方式
- iOS 指纹解锁 检测指纹信息变更
- 如何协助企业IT架构转型
- 2012_WOW_Designing Steganographic Distortion Using Directional Filters
- 2018年全国高中数学联赛浙江省预赛
- php 根据经纬度获取附近50km的信息,并计算距离