SteamVR Home: New Maps, Asset Packs, and More

július 26. - Lawrence
Today we've updated SteamVR Home with three new maps, a new asset pack system, and other quality of life improvements.

New Maps
Explore the ins and outs of a supervillain's lair in the latest SteamVR Home environment from Valve. This destination has everything an aspiring evil genius needs. Labs! Tunnels! Alligators! Electric fences! Motivational posters! Chairs! Look hard enough and you'll be able to unlock an interactable mini-sentry turret collectible from Team Fortress 2 - you may need to bring along a friend to help you explore this vast, part-subterranean complex.

We've also created three new spins on the standard Summit Pavilion home environment - there's now more room to customize things, a waterfall, and a cozy fire to virtually warm your virtual self. Even better, these three maps will only require a minimal download, since they take advantage of our new asset pack system. Speaking of which...

Asset Packs
Today we're introducing an asset pack system to SteamVR Home. This means that content creators can share the assets from their maps with other creators, and other creators can utilize these assets (models, textures, particles, etc) when creating their own maps. Even better, if a player has downloaded a map that uses an asset pack - any other map using that asset pack will be a much smaller download.

We've made asset packs available for Summit Pavilion and the Supervillain Lair environments - we're excited to see what you will make! For more information about creating destinations and asset packs, visit the SteamVR Home Wiki.

More Updates
The big community wall in the default environment has been reorganized to show more games in each category (sorted by current player count). We've also added a new category to the wall - Free VR Apps. We think this will make it easier for players to discover and launch popular games on SteamVR.

All panels (Screenshots, Desktop, Steam Big Picture, Friends List, etc) are now resizable the same way all props are resizable. Simply grab with both hands and pull apart to scale up, or bring your hands together to scale down. In addition, all panels are now grabbable from anywhere - not just the edge.

We're excited to ship all this new content and these new features to the community. Let us know what you think in the forums.

Source Directivity in Steam Audio

július 12. - lakulish
One of the new features introduced in Steam Audio 2.0-beta.14 is source directivity. In the real world, sources emit sounds with different intensities in different directions. For example, when a person is speaking, their speech is louder in front of them than behind them. Source directivity is a way of modeling this phenomenon in virtual worlds.

Directivity affects reflections
Usually, source directivity only affects sound traveling in a straight line from the source to the listener. In Steam Audio, every individual reflection of sound is affected by source directivity, opening up new opportunities for designers. For example, the below video shows a rotating source with a cardioid directivity. When the source emits sound into the reverberant room, reverb can be heard at the listener position; when the source emits sound away from the reverberant room, almost no reverb is heard.

How does directivity work?
A source directivity pattern specifies a scaling factor to be applied to sound as a function of direction relative to the source's coordinate system. The default directivity pattern in Steam Audio is a weighted sum of an omnidirectional (monopole) pattern and a dipole pattern oriented along the source's z-axis (front/back axis). This directivity pattern is controlled by two numbers: the dipole weight, and the dipole power. The dipole weight determines how "dipole-like" the final directivity pattern is: setting this to 0 gives an omnidirectional pattern, setting this to 1 gives a pure dipole pattern, and setting this to 0.5 gives a front-facing cardioid pattern. The dipole power determines how "sharp" or "focused" the dipole is.

Using directivity in Steam Audio

Unity Plugin
To use source directivity in the Unity plugin, first attach a Steam Audio Source component to the Audio Source you want to specify a directivity pattern for. Next, use the Dipole Weight and Dipole Power sliders to specify the directivity pattern; the visualization will update in the Inspector tab and in the Scene tab as you adjust the sliders.

In the C API, directivity patterns are specified using the IPLDirectivity struct, an instance of which is contained in the IPLSource struct. The IPLSource struct, in turn, is passed to the iplGetDirectSoundPath function (when simulating direct sound), and the iplSetDryAudioForConvolutionEffect function (when simulating indirect sound). Use the dipoleWeight and dipolePower member variables of the IPLDirectivity struct to specify a directivity pattern.

Arbitrary Directivity Patterns
When using the C API, you can specify any arbitrary directivity pattern using a callback function: set the callback and userData member variables of the IPLDirectivity struct to use this functionality. The specified callback will be called by Steam Audio whenever it needs to evaluate a directivity pattern. Refer to the C API documentation for more details.

Logitech G POWERPLAY and SteamVR Tracking

június 25. - VDubs
We’ve been looking into reports of SteamVR Tracking interference while using the Logitech G POWERPLAY mousepad and have confirmed that there is an issue. Logitech G is currently working on a firmware update, and Valve is working with the folks at Logitech G and HTC to find the best long term solution. Until then, please unplug the USB cable from the POWERPLAY mousepad and plug your mouse in directly before using VR.

We’ve tested a variety of other wireless power systems and have not found any similar issues. That said, if you believe you’ve found a device that does cause interference, please let us know.

SteamVR Home: New Collectibles

június 21. - Lawrence
It's that time again! New SteamVR Home collectibles are now available for Moss, Apex Construct, Nevrosa: Escape, and Trains VR. As always, play these games to unlock their collectibles in SteamVR Home.

Vive users now have access to the Vive Pro headset avatar, and we also have a special guest in SteamVR Home: a Steam Summer Salien!

Introducing SteamVR Skeletal Input

június 21. - Victim0

In May we announced the new SteamVR Input system to allow developers to more easily support existing and future controllers, enable gamers to more easily customize their controls, and empower hardware makers to continue to innovate on VR input. But there’s another aspect to controller input unique to VR that we did not address at the time: extra information from the controller about what the player’s body is doing. Current hardware can tell us a lot about where the user’s hand is and the pose of their fingers, and that information is only going to get more accurate and detailed as the industry continues to innovate. To facilitate this innovation, we’re proud to announce the release of the first beta of SteamVR Skeletal Input.

The Skeletal Input system will allow controller makers to capture the pose of the user’s hand as accurately as their sensors are able, and provide it as a stream of animation data to the running app. App developers can then use this stream to animate the hands of the user’s avatar on its own or in combination with their own animations.

What this means for users is that they will be able to get the full benefit of their investment in new VR controllers in their favorite games without the need for the developers to release a patch to support the new controller. App developers will not need to create unique animations for each controller they intend to support when their game is released, or issue patches to support new controllers. And hardware makers can continue to innovate in this space, and write their drivers so that their controller will work with any game that supports the new Skeletal Input system.

Controller drivers will be able to provide two animation streams to apps for each controller: one stream intended to track the estimated pose of the user’s hand as accurately as possible, usually meaning with the controller in-hand. The second stream is intended to provide a range of motion for the hand as if it was no controller in the way, ideal for cases where the user’s avatar is not currently holding anything in-game. The app developer can then choose which of these streams to sample based on the current context of the game.

SteamVR Skeletal Input will also provide the option to convert either data stream to additive animation. Additive animation can be useful to app developers because it can be layered on top of other animation to provide additional, more dynamic motion. For example, you could use the additive finger animation from SteamVR Skeletal Input as a layer on top of an artist-created pose of the hand holding an object, to allow users to appear to adjust their grip or gesture while holding an object.

We also wanted to ensure that multiuser experiences would be able to take advantage of this new system, but networking an entire animated hand skeleton can require too much bandwidth for many users. So we have included as part of the API support for compressing the animation down to a size that is more practical for networking.

This initial beta release is intended as an opportunity for developers to try out the API in their games and provide us with feedback. Vive Wands, Oculus Touch, and the new Knuckles EV2 are already supported, and we invite other input makers to work with us to add support for their controllers during the beta as well.

A full SDK for all developers will be released soon, but for now Unity developers can access the Skeletal Input API with this early release of the SteamVR Unity plugin. The documentation is available on the OpenVR GitHub Wiki. We look forward to hearing your feedback!

HTC Vive Wands

Oculus Touch Controllers

Knuckles EV2
SteamVR Home: Steam and Desktop Panels
Upcoming Windows Mixed Reality Support on Steam