手柄触摸3D物体的功能实现是非常简单的,VIU中有现成的相关接口,只需要继承接口并实现即可。

1、前期准备
新建场景05-3DTouch,删除默认相机,新建原点空节点Player,将需要的模块拖入Player节点内,本章还是沿用第二章中的瞬移场景为基础进行讲解,使用阶梯和墙来测试手柄的触碰功能。

2、手柄进入、离开3D物体
编写Demo5_VRTouch脚本,同时挂载在阶梯和墙上,触发前提条件:物体上已挂载Collider

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HTC.UnityPlugin.ColliderEvent;public class Demo5_VRTouch : MonoBehaviour,IColliderEventHoverEnterHandler,IColliderEventHoverExitHandler
{public void OnColliderEventHoverEnter(ColliderHoverEventData eventData) {Debug.Log($"{transform.name} 开始触摸");}public void OnColliderEventHoverExit(ColliderHoverEventData eventData) {Debug.Log($"{transform.name} 离开触摸");}
}

在实际开发过程中,我们可以将监听单独使用一个脚本,保证所有3D物体通用,再自定义两个事件,用来在外部赋值事件实际逻辑。

ViveInputUtility-手柄触摸3D物体(6)相关推荐

  1. SteamVR 2.x 手柄触摸3D物体(11)

    通过上一章对Interactable组件有了初步的了解之后,现在来正式开始学习手柄触摸物体的交互. 一.前期准备 新建场景,删除默认相机,将Player拖拽进入场景内 新建Plane,修改为Floor ...

  2. SteamVR 2.x 手柄拾取3D物体(13)

    在实际项目过程中,触碰和拾取物体是最常用的功能之一,本章介绍手柄拾取物体的交互. 一.前期准备 新建场景,删除默认相机,将Player拖拽进入场景内 新建Plane,修改为Floor,上一个黑色材质球 ...

  3. SteamVR 2.x 手柄使用3D物体(14)

    在前几章中,讲解了手柄与物体的触碰.拾取,除了这两种经常用的交互功能之外,还有一个比较常用的功能(使用),举个例子: 手柄拾取螺丝刀,而后要使用螺丝刀吸附螺丝,将螺丝安装到面板上. 这是一个比较典型的 ...

  4. ViveInputUtility-手柄拾取3D物体(7)

    本章主要介绍通过VIU,实现手柄拾取3d物体以及拾取事件触发. 1.前期准备 新建场景06-3DGrab,删除默认相机,新建原点空节点Player,将需要的模块拖入Player节点内,本章还是沿用第二 ...

  5. SteamVR 2.x 手柄射线与3D物体交互(9)

    UI模块在前面已经讲完了,从本章开始,会着重介绍手柄与3d游戏物体之间的交互,我们平时项目开发,最常用的就是手柄射线点击物体.手柄触碰以及手柄拾取物体,先来聊聊射线点击物体. 沿用的思想我们之前有说过 ...

  6. ViveInputUtility-手柄射线与3D物体交互(5)

    本章主要介绍通过VIU,实现利用手柄射线射线进入.点击.离开物体,以及射线拾取物体两大部分的内容. 1.前期准备 这里以第二章中的瞬移场景为基础进行讲解.链接如下: 我们将阶梯命名为Stairs,墙命 ...

  7. cocos 射线检测 3D物体 (Sprite3D点击)

    看了很多朋友问怎么用一个3D物体做一个按钮,而且网上好像还真比较难找到答案, 今天翻了一下cocos源码发现Ray 已经封装了intersects函数,那么剩下的工作其实很简单了, 从屏幕的一个poi ...

  8. GJM:Unity开发HTC vive 三、远处拖动3D物体 【转载】

    腾讯GAD  窗间风月 原文URL : http://gad.qq.com/article/detail/7192223 版权所有,禁止匿名转载:禁止商业使用:禁止个人使用. 在项目中会需要拖动远处的 ...

  9. 达摩院实现自动驾驶核心技术突破,达摩院首次实现3D物体检测精度与速度的兼得

    阿里巴巴达摩院在自动驾驶3D物体检测领域取得了新突破!达摩院近期一篇论文入选计算机视觉顶会CVPR 2020,该论文提出了一个通用.高性能的自动驾驶检测器,首次实现3D物体检测精度与速度的兼得,有效提 ...

最新文章

  1. PHP和js判断访问设备是否是微信浏览器实例
  2. Kafka设计解析(二):Kafka High Availability (上)
  3. 【译】Spring Boot 2.0 官方迁移指南
  4. Linux - How to Extend/Reduce LVM’s (Logical Volume Management) in Linux
  5. 04-JDBC连接MySQL数据库【修改数据】
  6. 科大星云诗社动态20201210
  7. boost::mp11::mp_all_of_q相关用法的测试程序
  8. typora代码块语言linux命令,typora工具的使用以及MarkDown语法
  9. 确定一个整数是否是2的幂
  10. 在shell脚本执行hbase命令
  11. ADS(Advanced Design system)原理图结合板层结构仿真(MSub)及版图仿真(EM Simulation)
  12. Bulletproofs、Sigma protocol、Halo2等ZK方案小结
  13. 数据保护/磁盘列阵RAID保护 IP段103.103.188.xxx
  14. 几个鲜为人知但很有用的 HTML 属性
  15. mysql constant number,Mysql报Too many connections,不要乱用ulimit了,看看如何正确修改进程的最大文件数...
  16. 【期末复习】计算机网络 谢希仁版(四)网络层(重点)
  17. 美容院加盟十大品牌到底怎么选
  18. 一个员工的离职成本有多高,超出想象
  19. 蜗牛学院:项目管理十大TION法
  20. 安装Acrobat XI Pro、SQL Server 2000时,提示另一个SQL Server安装程序实例已在运行的解决办法

热门文章

  1. Android高手笔记-D8, R8编译优化
  2. python写qq群机器人怎么弄_python打造自由DIY 群聊机器人
  3. 线下门店如何进行私域运营
  4. python运行启动报错解决方法_pyspider启动错误解决(Python 3.7)
  5. OpenGL-基础知识总结
  6. Python @装饰器
  7. es java api 进行聚合+桶聚合查询
  8. scalac: Token not found...
  9. BUU刷题记录(四)
  10. 有关数据库的一级、二级、三级封锁协议