HTC Vive开发学习——VRTK(2)

本文深入解析VR开发中HTC Vive的VRTK框架,探讨VRTK_SimplePointer控制器简单指针的实现,包括公共属性、事件处理以及射线碰撞检测。同时,介绍了基础传送功能CameraRig_BasicTeleport,说明了如何通过事件触发实现VR环境中的移动。学习内容包括Collider组件、Listener脚本编写以及传送操作的逻辑流程。
摘要由CSDN通过智能技术生成

上一节主要剖析了VRTK_ControllerEvents脚本,这一节我们继续通过Demo来学习VRTK。

(二)003_Controller_SimplePointer

上一节关于这个Demo的学习主要还是深入剖析VRTK_ControllerEvents脚本。这一节我们正式开始学习这个脚本,它的继承包括两个层次,父类:VRTK_WorldPointer,祖类:VRTK_DestinationMarker。它们都是抽象类,因此想实现自己的Pointer必须通过继承上述父类进行扩展。这个系列的脚本我看了一遍还是没有什么头绪,下面一点一点地来整理吧。

首先是各种public属性

Play Area Cursor:看脚本的时候就对这个名称的字段和方法很迷惑。它并不是当射线与一个碰撞体接触并引发碰撞检测时,射线头部出现的“鼠标”(从内部代码来看这个“鼠标”是通过一个Cube来模拟的,而且这个“鼠标”有它自己的相关属性Show Pointer Tip),而是这个Cursor位置将会出现一个Play Area(被冠以Play Area前缀)预览。一旦启用teleport功能,用户的Play Area将会传送到这个所谓Play Area Cursor的位置。这个共有属性和后面的Handle Play Area Cursor Collisions密切相关,如果进行Play Area碰撞检测,那么会进行是否发生传送操作的判断。

其次,我们来看实现

祖类VRTK_DestinationMarker中定义了三种事件,分别为射线终点进入、退出、设置。进入和退出很好理解,标记设置和teleport有关(后续我们讨论teleport是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值