问题标签 [steamvr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12537 浏览

c# - 如何将 Unity 项目输入更新到 SteamVR 2.0?

我有一些 Unity 场景与以前版本的 SteamVR 插件配合得很好,因为有一个新版本的插件“SteamVR Unity Plugin 2.0”我的代码不再有效。

https://steamcommunity.com/games/250820/announcements/detail/1696059027982397407

如文档所述,我在导入新文件夹之前删除了“SteamVR”文件夹。

但我得到这个错误:

所以我可以看到这些类已被弃用:

使用 SteamVR 2.0 插件通过代码获取输入的新方法是什么?

0 投票
1 回答
1652 浏览

unity3d - Unity SteamVR - 强制脱离手

我的游戏中有interactable/throwableVR 对象。问题是,当我将这个物体握在手中并将他移动到其他物体触发器的区域时,我想强行将这个物体从手上分离。

GetComponent<Valve.VR.InteractionSystem.Interactable>()即使我持有的对象Interactable添加了脚本,也会返回 null。更重要的是,我认为这不是解决这个问题的最佳方法。

0 投票
1 回答
1583 浏览

unity3d - 在 Unity 中播放粒子系统

我正在使用 Unity3D 为使用 SteamVR 的 HTV Vive 进行开发。我从资产商店下载了一个资产,该资产具有使用粒子系统创建的爆炸效果。我想在物体被破坏时播放粒子动画。这是我使用的代码,但未成功。

Explosion 是检查器设置的 GameObject 类型的公共变量。我将粒子系统对象放在那里。

为什么它不起作用?有人推荐一个简短的教程来学习使用(而不是创建)粒子效果吗?

谢谢


层次结构视图

层次结构视图

我已经将 PS 作为目标的子对象和独立对象进行了尝试。

检查员的视图(目标)

检查器的视图(粒子系统)

编辑:由于某种原因,粒子效果在场景开始后立即被破坏。

0 投票
1 回答
319 浏览

c# - SteamVR在统一使用FFMPEG录制时创建加载屏幕闪烁

我的 Unity VR 游戏(使用 SteamVR)中集成了一个热图插件。当用户注视游戏中的不同元素时,该插件使用眼动追踪信息生成实时热图。随着热图的生成,整个相机视图(用户的)被热图信息覆盖,并使用 FFMPEG 写入 MP4 文件。


整个过程运行良好。但是我有一个烦人的问题,在录制过程中,用户的相机视图不稳定,并且只有在录制停止时才会闪烁并停止。它打断了他的游戏流畅现在,我已经缩小了导致问题的代码,

据我了解,正是在这部分代码中调用了 stdinput 来写入文件系统。因此,我推测问题一定出在访问文件系统上,而在更新方法中写入每一帧时,这又必然会导致一些时间延迟。如果我在这里错了,请纠正我。 在此处输入图像描述

在每帧写入期间出现的加载屏幕看起来像上面的样子。它打断了游戏的流畅流程,也使记录变得毫无用处,因为用户一直专注于闪烁而不是实际感兴趣的对象。如果有人在这里对这个问题有所了解,我将不胜感激?

0 投票
1 回答
612 浏览

unity3d - Unity 和 Steam VR 启动错误

在 Unity 中开始一个干净的项目时,我创建了一些非常简单的 3D 几何图形,这是一个没有天花板的房间。我已包含 SteamVR 资产并拖动到相机预制件中。

当我开始游戏时,我收到以下错误,

Steam VR 启动错误

我正在使用最新版本的 Unity (2018.2.14f1) 以及 Unity 资产商店中的任何 SteamVR 版本。

游戏运行了,但是由于这些错误,我没有看到我的控制器,我敢肯定还有很多坏了,但这是第一个,最明显的事情。

Steam VR 正在运行并“准备就绪”,Oculus 应用程序正常运行。

有任何想法吗?

0 投票
0 回答
352 浏览

c# - 带有 SteamVR 的 RenderTexture 与标准 Unity 相机不同

我目前正在做一个项目,我正在为 3d 对象着色。代码与此处类似。基本上,我使用渲染到渲染纹理的正交相机,在我的材质中用作 UV 图像。一开始,它只“看到”一个带有基本图像的平面。

在绘画时,我在这个渲染凸轮前面的正确位置创建了一个 2d 精灵。这工作正常。现在,由于 Unity 不能顺利运行很多精灵,我尝试通过使用Texture2D.ReadPixels()命令将精灵组合到基础图像中来减少负载。然后将此新纹理设置为新的基础纹理。冲洗并重复。

如果我使用内置的 Unity 相机设置,这种方法可以完美运行。由于该项目是为 VR 设计的,我将所有内容都移植到了 SteamVR 项目中。运行时渲染也很好,只有 save-as-png 纹理功能开始中断。我包括了不同图像的链接。第一个是Base Image,第二个是用“ Unity only ”保存的,最后一个是用SteamVR纹理保存的。我只在它们上面画绿色圆圈作为精灵。

如您所见,SteamVR 与仅统一版本相比存在几个问题:

  1. Alpha 通道被检测为黑色,没有褪色
  2. 整体分辨率变得..不稳定?(看数字,它们变得越来越阻塞)
  3. 块 1、5 和 6 的颜色是错误的

我为渲染纹理、UV 纹理(RGBA、ARGB、RGB)尝试了不同的格式。除了导入 SteamVR 之外,没有其他任何变化。我错过了什么?

渲染代码如下:

保存

如有必要,我可以上传完整的项目。谢谢你的帮助

托马斯

0 投票
1 回答
282 浏览

unity3d - Unity Steam VR 启动不正确

我在 Unity 中为 HTC Vive 编写了一个虚拟现实游戏。我用的是 Steam VR。如果我在 Unity 上玩游戏,一切都会完美运行。如果我构建它,它也可以完美运行。但是,如果我将我的构建复制到另一台计算机,则没有任何效果。它看起来像这样:右上角

有没有人没有如何解决这个问题?我的 Vive 设置正确,其他游戏运行正常。

谢谢罗曼

0 投票
0 回答
39 浏览

c# - 按下触发器时未注册

我有一些代码,当按下右手控制器的触发器时,它会开枪,但它似乎没有工作,我试图在实际的 TriggerPressed 部分中添加一个调试,但这并没有当我在游戏中单击它时,它也不会出现在日志中,我只是不确定这个问题是从哪里开始的,我很困惑为什么它不起作用。它也可以编译,所以任何指导表示赞赏

编辑:不确定它的重要性,但还是决定添加它,我正在使用 oculus rift 控制器

这是(编辑:更新)代码:

0 投票
1 回答
331 浏览

c# - 传送工作时移动系统不工作,移动工作时传送不工作

所以我有一个播放器预制件(来自 steamVR),并且我将两只手连接到它上面,代替旧手,其中一只手是枪,按预期完美工作,另一只手完全被击中,我已经花了最后 2 小时调试无济于事。我有一个脚本,它使用控制器的玩家方向和拇指杆移动的方向,它连接到左侧控制器,并且在它工作时会破坏传送。

我可以让运动完美地工作,牺牲我的传送系统(传送工作,除了高度,不能传送到我目前所在的地方,只是把我放在它下面。同样值得注意的是,我使用的是 steamvr 的传送也是预制的。

当控制器不工作时,这是它的工作设置:

播放器预制:https ://gyazo.com/0d52edf219b4a16c1f842818dbafc89a

手:https ://gyazo.com/5089b750520dcf6f6b8fe5bd899ef1cb

这是传送无法正常工作时的设置 Player Prefab:(与以前相同)手:https ://gyazo.com/5cc125244e3ae3911ae14f23d2e187fd

这是运动的代码:

我很困惑为什么它不起作用,感谢任何帮助。

0 投票
2 回答
2351 浏览

unity3d - 如何在 Unity 项目之间共享新的 SteamVR 动作集和绑定

我正在 Unity 中开发一个 VR 模块,我希望能够将它作为资产包导入到我的任何统一项目中。此软件包需要定义来自 Vive 控制器按钮的输入,以便在游戏过程中将其打开。我想以某种方式在项目之间共享这个动作集和按钮绑定,这样我就不必每次想使用它时手动创建动作和绑定。

有没有办法在项目之间共享 SteamVR 输入设置?特别是一个完整的输入操作集,及其相关的控制器绑定。

我尝试将 SteamVR_Input 文件夹导出为一个包,也尝试包含 SteamVR 文件夹,但均未成功。重新导入后,我可以在 SteamVR_Input 文件夹的项目文件夹中看到导入的操作集,但它没有显示在输入窗口中(窗口菜单 -> SteamVr 输入)。但是,实时输入视图会显示列表中的操作,但不会记录任何按钮按下。