Unity SteamVR入门

server/2024/11/15 8:35:04/

概述

VR项目现在在当前已经是非常热门的技术,可以给玩家身临其境的感觉,接下来让我们学习这部分的内容吧!


SteamVR Input

SteamVR绑定流程,在Windows窗口的点击SteamVR-input,图1,在这里可以选择你需要绑定的事件,给事件添加对应的功能再可以取个名字用来在按键绑定的时候使用,图2,就是使用到你绑定的触发事件,比如给按键添加一个按下抬起的功能,这里就需要一个Bool类型的变量,按下的时候为TRUE,抬起的时候为FALSE,然后就可以在代码中调用对应的事件触发相应的功能

脚本声明方法

using Valve.VR;public SteamVR_Action_Boolean action = SteamVR_Input.GetAction<SteamVR_Action_Boolean>("Action");  void Update(){if (SteamVR_Input.GetStateDown("action", SteamVR_Input_Sources.RightHand)){Debug.Log("按下");}if (SteamVR_Input.GetStateUp("action", SteamVR_Input_Sources.RightHand)){Debug.Log("抬起");}}

添加事件

public steanVR_LasetPoint laserPoint;
awake()
{lasetPoint = GetConponet<SteamVR_Laser Pointer>();laserPoint.pointerIn += LaserPointer_PointerIn;
}
private void Laserpoint_PointerClick(Object sender,PointerEventArgs e)
{throw new System.NotImpLementedException();
}

interactable

  • Active Action Set On Attach:在拾取物体时激活的动作集
  • Hide Hand On Attach:拾取物体时是否隐藏手
  • Hide Skileton On Attach:拾取物体时是否隐藏骨骼
  • Hide Controller On Attach:拾取物体时是否隐藏控制器
  • Hand Animation On PickUp:拾取物体时手部动画
  • Set Range Of Motion On PickUp:设置手部拾取的运动状态
  • Use Hand Object Attachment Point:指定使用手的附着物体的位置点,还是直接使用手的位置作为挂载点
  • Attach Ease In:开启缓动
  • Snap Attach Ease In Time:缓动时间
  • Snap Attach Ease In Completed:缓动完成
  • Hand Follow Transform:手部跟随对象
  • Highlight On Hover:悬停在游戏物体上时,游戏物体高亮
  • Hide Hightlight:不参与高亮的游戏物体列表
  • Hover Priority:层级,数值越大,Hover越优先                                                                                                                                          

作者的一点废话 

学习了这部分的内容赶紧运用到你的VR项目吧!

如果帮助到你就请点个赞吧,你的支持是我创作的动力!!
日志:
2024年5月2日 22:57//上传Unity Steam VR 上传


http://www.ppmy.cn/server/29855.html

相关文章

C语言练习百题之计算字符串中子串出现的次数

程序分析 计算字符串中子串出现的次数&#xff0c;一种直观的方法是遍历整个字符串&#xff0c;在每个位置检查子串是否匹配。另一种方法是利用字符串匹配算法来优化搜索过程&#xff0c;减少时间复杂度。 方法一&#xff1a;暴力法 解题思路&#xff1a; 在主串中依次遍历…

Mybatis基础

1. Myabtis参数的获取 在Mybatis中获取参数是非常常见的操作&#xff0c;无论是增删改查哪种操作&#xff0c;基本都会传入参数。 1.1 获取单个参数 单个参数&#xff1a;mybatis不会做特殊处理&#xff0c; #{参数名/任意名}&#xff1a;取出参数值 1.2 获取多个参数 多个…

python 学习: 矩阵运算

摘要: 本贴通过例子描述 python 的矩阵运算. 1. 一般乘法 (mm 与 matmul) 代码: input_mat1 torch.tensor([[1, 2, 3, 4],[1, 2, 2, 3]])input_mat2 torch.tensor([[1, 2, 3, 3],[2, 1, 2, 3],[3, 1, 2, 2],[2, 3, 2, 3]])print("input_mat1: ", input_mat1)prin…

SpringDI方式及Redis应用场景的分享

1、为什么Spring和IDEA 都不推荐使用 Autowired 注解 大家在使用IDEA开发的时候有没有注意到过一个提示&#xff0c;在字段上使用Spring的依赖注入注解Autowired后会出现如下警告Field injection is not recommended (字段注入是不被推荐的)&#xff1b;但是使用Resource却不会…

Spring Boot可以同时处理多少请求?

Spring Boot本身对并发请求的处理能力没有明确的限制。Spring Boot的并发处理能力通常受到以下因素影响&#xff1a; 服务器硬件&#xff1a;包括CPU核心数、内存大小等。JVM配置&#xff1a;堆内存、永久代或元空间大小等。Web服务器&#xff1a;Spring Boot 默认使用嵌入式的…

XML:基础

一、语法 基本结构&#xff1a; 实例一&#xff1a; <?xml version"1.0" encoding"ISO-8859-1"?> <note data"2008/08/08"> <to>George</to> <from>John</from> <heading>Reminder</heading&…

【Linux 系统】多线程(线程控制、线程互斥与同步、互斥量与条件变量)-- 详解

一、线程概念 线程是进程的一个执行分支&#xff0c;是在进程内部运行的一个执行流。下面将从是什么、为什么、怎么办三个角度来解释线程。 1、什么是线程 上面是一张用户级页表&#xff0c;我们都知道可执行程序在磁盘中无非就是代码或数据&#xff0c;更准确点表述&#xff0…

面试题:分布式消息中间件 MQ

MQ官网文档&#xff1a; RabbitMQ&#xff1a;https://www.rabbitmq.com/docs RocketMQ&#xff1a;https://rocketmq.apache.org/zh/docs/ Kafka&#xff1a;https://kafka.apache.org/documentation/ DDMQ&#xff1a;https://base.xiaojukeji.com/docs/ddmq 面试题&#xff…