草庐IT

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

UI模块在前面已经讲完了,从本章开始,会着重介绍手柄与3d游戏物体之间的交互,我们平时项目开发,最常用的就是手柄射线点击物体、手柄触碰以及手柄拾取物体,先来聊聊射线点击物体。沿用的思想我们之前有说过,利用SteamVR_LaserPointer组件的PointerIn、PointerClick、PointerOut,来监听射线进入物体、点击物体、离开物体,这样就可以实现射线与3d物体的交互,直接上干货。一、前期准备新建场景,删除默认相机,将Player拖拽进入场景内新建Plane,修改为Floor,上一个黑色材质球,Transform信息如下:场景内随意添加两个Cube,将其命名为CubeA、

unity 射线特性测试

  上面方块分别添加绿色 BoxCollider2D Rigidbody2D黑色 BoxColliderRigidbody黄色Rigidbody2D蓝色无红色 BoxCollider2D然后我们通过以下代码设置一条2d射线用来测试privateLineRendererline;Vector3mousePos=Input.mousePosition;Vector3screenToWorld=Camera.main.ScreenToWorldPoint(newVector3(mousePos.x,mousePos.y,-Camera.main.transform.position.z));Ray2

unity 射线特性测试

  上面方块分别添加绿色 BoxCollider2D Rigidbody2D黑色 BoxColliderRigidbody黄色Rigidbody2D蓝色无红色 BoxCollider2D然后我们通过以下代码设置一条2d射线用来测试privateLineRendererline;Vector3mousePos=Input.mousePosition;Vector3screenToWorld=Camera.main.ScreenToWorldPoint(newVector3(mousePos.x,mousePos.y,-Camera.main.transform.position.z));Ray2

Pico UnityXR中的手柄射线

PicoXR中的手柄射线前言​本文是继PicoXR中的输入事件博客的进一步补充,针对手柄的射线相关API进行解析,并以VR水果忍者为例子封装手柄射线的事件。手柄射线的获取XRRayInteractor关键脚本,由UnityXR提供的射线交互器脚本有关此脚本详细的API请参考官方UnityXR的手册ClassXRRayInteractor|XRInteractionToolkit|1.0.0-pre.8(unity3d.com)下面介绍一些较为常用的获取射线和获取击中点的方式XRRayInteractorleftInteractor;//以左手的射线交互器为例//省略获取脚本的方法,根据名称标签

Pico UnityXR中的手柄射线

PicoXR中的手柄射线前言​本文是继PicoXR中的输入事件博客的进一步补充,针对手柄的射线相关API进行解析,并以VR水果忍者为例子封装手柄射线的事件。手柄射线的获取XRRayInteractor关键脚本,由UnityXR提供的射线交互器脚本有关此脚本详细的API请参考官方UnityXR的手册ClassXRRayInteractor|XRInteractionToolkit|1.0.0-pre.8(unity3d.com)下面介绍一些较为常用的获取射线和获取击中点的方式XRRayInteractorleftInteractor;//以左手的射线交互器为例//省略获取脚本的方法,根据名称标签

unity 射线特性测试

  上面方块分别添加绿色 BoxCollider2D Rigidbody2D黑色 BoxColliderRigidbody黄色Rigidbody2D蓝色无红色 BoxCollider2D然后我们通过以下代码设置一条2d射线用来测试privateLineRendererline;Vector3mousePos=Input.mousePosition;Vector3screenToWorld=Camera.main.ScreenToWorldPoint(newVector3(mousePos.x,mousePos.y,-Camera.main.transform.position.z));Ray2

unity 射线特性测试

  上面方块分别添加绿色 BoxCollider2D Rigidbody2D黑色 BoxColliderRigidbody黄色Rigidbody2D蓝色无红色 BoxCollider2D然后我们通过以下代码设置一条2d射线用来测试privateLineRendererline;Vector3mousePos=Input.mousePosition;Vector3screenToWorld=Camera.main.ScreenToWorldPoint(newVector3(mousePos.x,mousePos.y,-Camera.main.transform.position.z));Ray2

【Oculus Interaction SDK】(七)使用射线进行交互(物体 & UI)

前言前段时间Oculus的SDK频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完SDK又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章内容。当前适用版本:Unity版本:2021.3.7f1c1OculusInteractionSDK版本:47.0文章最近更新日期:2023.02.13 为控制器和手添加射线交互功能为控制器添加射线交互在Project窗口搜索ControllerRayInteractor,使其成为ControllerIntera

【Oculus Interaction SDK】(七)使用射线进行交互(物体 & UI)

前言前段时间Oculus的SDK频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完SDK又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章内容。当前适用版本:Unity版本:2021.3.7f1c1OculusInteractionSDK版本:47.0文章最近更新日期:2023.02.13 为控制器和手添加射线交互功能为控制器添加射线交互在Project窗口搜索ControllerRayInteractor,使其成为ControllerIntera