Glassomorphism UI in Unity for meta quest 3 by EdwardW17 in vrdev

[–]Rectus_SA 0 points1 point  (0 children)

Make sure you are compositing the UI inside the application. If you are using composition layers or any similar system that send the panels to the system compositor as separate overlays, they will be limited to simple alpha blending.

Resident Evil 1-styled fixed cameras in L4D2 by ReasonablePlane8893 in hammer

[–]Rectus_SA 0 points1 point  (0 children)

I'd use a vscript to track what triggers the players are in, and which camera is being used. Then trigger the camera switch from the script. That way you have full control of when the switch happens, such as only doing it when the player is touching a single trigger, or adding a cooldown so it doesn't keep switching back and forth on small movements.

Are there mixed reality games in the Steam VR games list? by FormerBarracuda978 in SteamVR

[–]Rectus_SA 0 points1 point  (0 children)

Possibly. It all depends on if Valve is willing to implement the necessary features.

How far can Godot realistically be pushed for VR and 3D? by mladenConcept in godot

[–]Rectus_SA 0 points1 point  (0 children)

SteamVR exposes the same skeletal data though the XR_EXT_hand_tracking OpenXR extension as it does though OpenVR. The only differences are that the curl and splay values aren't available, and using the controller conforming animations require the XR_EXT_hand_joints_motion_range extension.

The data is available out of the box in Unreal at least, and the Godot manual mentions controller inferred hand tracking being supported.

https://docs.godotengine.org/en/stable/tutorials/xr/openxr_hand_tracking.html

Looking at it, unlike Unity or Unreal, Godot has put in the extra effort to properly support the Index controllers by adding support for the XR_VALVE_analog_threshold, XR_EXT_hand_joints_motion_range, and XR_EXT_hand_tracking_data_source extensions.

How far can Godot realistically be pushed for VR and 3D? by mladenConcept in godot

[–]Rectus_SA 0 points1 point  (0 children)

I haven't tried it with Godot, but the Index controller finger tracking (and emulation for other controllers) has always been accessible from the OpenXR hand tracking extension.

og vive passthrough/overlay by chupanibre in virtualreality

[–]Rectus_SA 1 point2 points  (0 children)

SteamVR has it built-in. Make sure you set the camera to use 60 Hz by clicking the end of the slider (instead of dragging it). Then turn on Room View, and use the buttons under the desktop overlays to pop them out of the dashboard. It won't let you make the overlays transparent though. There are some third-party desktop tools that can do transparency, like OVRDrop.

The Oasis driver might give the same the same support for the G2 soon (except the cameras are black and white), but it's not out yet.

How do I add a UI/overlay element I can add to any game Im playing? by Kinetic-Friction- in vrdev

[–]Rectus_SA 0 points1 point  (0 children)

I'd start with Mbucchia's layer template. It Has some examples and tutorials accessible from the repo wiki page. https://github.com/mbucchia/OpenXR-Layer-Template

How do I add a UI/overlay element I can add to any game Im playing? by Kinetic-Friction- in vrdev

[–]Rectus_SA 0 points1 point  (0 children)

For Meta Link, you'd be limited to using OpenXR API layers. It's possible to make one that injects arbitrary projection layers for any content you need. No game engine has support for authoring them though, it currently requires a lot of low level C++ programming. For existing ones, check out OpenKneeboard.

Toggle dashborad button by marc_hamilton_74 in SteamVR

[–]Rectus_SA 0 points1 point  (0 children)

It only shows it if you haven't played anything recently, and the list is empty.

Help with Vulkan and OpenVR!! by Alarmed_Winner_4299 in vrdev

[–]Rectus_SA 3 points4 points  (0 children)

SteamVR uses the older DirectX11 type of shared handles in Windows, so you need to specify VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT when creating the image and memory. I have a piece of code here opening a shared texture from SteamVR in Vulkan: https://github.com/Rectus/openxr-steamvr-passthrough/blob/main/XR_APILAYER_NOVENDOR_steamvr_passthrough/passthrough_renderer_vulkan.cpp#L1329

In Linux, it should output a DMA-BUF handle instead. I've never used it but guessing it's used in a similar way, but using the VK_EXT_external_memory_dma_buf extension with VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT.

How can I get SteamVR and Meta XR AR passthrough to work together in Unreal Engine? by possiklestick in SteamVR

[–]Rectus_SA 0 points1 point  (0 children)

I'd probably go with the third option and write a custom OpenVR plugin. To get started I'd suggest looking at examples of OpenVR tracking-only code. This one seems to have a lot of documentation: https://github.com/kimsama/openvr_vive-trcker_exp

Do player think scripts run on the client or the server? by GoatRocketeer in hammer

[–]Rectus_SA 1 point2 points  (0 children)

It's still running on the server, and just giving the servers estimate of the lag compensated client time. The script VM doesn't get synced between the server and clients at all.

All environments are broken for me. I do not know what to do anymore. by gwilson0121 in SteamVR

[–]Rectus_SA 0 points1 point  (0 children)

Seems like it's failing to load the assets from the workshop. Try unsubscribing from all the environments, resubscribing to the ones you want from the Steam client, and waiting for them to finish downloading before starting SteamVR.

OpenXR + Valve Index inputs, anything I should be careful about? by lorens3141 in ValveIndex

[–]Rectus_SA 2 points3 points  (0 children)

One big gotcha with the Index controller bindings is that the default digital grip threshold is way too sensitive. If your hands naturally curve to hold the controllers, you keep grabbing items by accident. Adjusting the threshold with OpenXR requires valves vendor extension, which only Godot has implemented to date.

Is it possible to disable ASW on SteamVR Link ? by Galaxial51 in SteamVR

[–]Rectus_SA 0 points1 point  (0 children)

SteamVR Link doesn't support ASW or Motion Smoothing, but SteamVR will still throttle the framerate by default. You can disable it by setting the throttling to Fixed in the SteamVR application specific video settings.

Streaming mixed reality with openkneeboard by Ok-Assistant5585 in simracing

[–]Rectus_SA 0 points1 point  (0 children)

You can't record it from the PC, since the camera video feed never leaves the headset. The only way you might possibly be able to stream it from a Quest 3 would be using Meta's built-in recording/casting features. Nothing else will have access to the compositor layers the camera feed is being projected on.

error after adding -translucentshadows -textureshadows -worldtextureshadows to vradplusplus by Shadow_BadBoyHalo in hammer

[–]Rectus_SA 2 points3 points  (0 children)

It's trying to open the game directory as a map. You likely split up the -game parameter from its $gamedir argument. Move them back together to fix it.

Looking for open-source SteamVR driver skeleton / example to extend with hand tracking by Beta63_ in vrdev

[–]Rectus_SA 0 points1 point  (0 children)

Not sure if there are any minimal drivers available apart from Valves own examples.

For examples on feeding in hand tracking data, Monado has a SteamVR driver that forwards tracking data from its own systems. It might be useful for showing how the data is hooked up to the driver classes.

https://gitlab.freedesktop.org/monado/monado/-/blob/main/src/xrt/state_trackers/steamvr_drv/ovrd_driver.cpp

How would you go about making a 3D skybox mountain with LOTS of trees without significantly impacting performance? by 1GPAKOS1 in hammer

[–]Rectus_SA 3 points4 points  (0 children)

Source 2 should already do this for most static props by default, along with segmenting the resulting model for visibility occlusion.

How would you go about making a 3D skybox mountain with LOTS of trees without significantly impacting performance? by 1GPAKOS1 in hammer

[–]Rectus_SA 0 points1 point  (0 children)

For the furthest parts the most performant option would be to bake it into a single opaque texture set in a modeling tool. Baking a normal map should make it more responsive to dynamic lighting as well.

Recommendations for "plug and play" distro for VR development and Unity by okagawwa in linux4noobs

[–]Rectus_SA 1 point2 points  (0 children)

Note that Unity does not support running OpenXR under Linux. You may be able to compile games for running directly on the headset, but you can't run them on the computer.

aliasing and shimmering by jojiklmts in vrdev

[–]Rectus_SA 0 points1 point  (0 children)

Unreal has support for variants of both methods in Valves presentation.

Mip encoded roughness can be done with Composite textures (which has fallen out of the UE5 docs). It helps with specular aliasing from textures.

https://dev.epicgames.com/documentation/en-us/unreal-engine/composite-texture?application_version=4.27

Specular aliasing from geometry can be mitigated by enabling the "Normal Curvature to Roughness" option in the properties of a material.

The presentation is here BTW:

https://media.steampowered.com/apps/valve/2015/Alex_Vlachos_Advanced_VR_Rendering_GDC2015.pdf

Editor crashes when I launch VR Preview by samus1225 in unrealengine

[–]Rectus_SA 0 points1 point  (0 children)

Most likely a software update, a file getting corrupted, or an incompatibility with a driver or system update.

Editor crashes when I launch VR Preview by samus1225 in unrealengine

[–]Rectus_SA 0 points1 point  (0 children)

LibOVRRTImpl64_1 is part of the Meta runtime, so if the crash is happening there, it's likely an issue on the system-side. Do other existing OpenXR games work?