SteamVR Unity Plugin 2.0

21 септември - Lawrence
SteamVR and Unity have both changed in the three years since we initially released our plugin on the Asset Store. For one thing, there are a few more controllers:

With each new controller comes a new headache for developers. Every game needs to be updated to support each new device, and if they aren't the user experience suffers. This is where SteamVR Input comes in. SteamVR Input abstracts input so that instead of thinking about low level button presses, we can think about user actions. For example, instead of hard-coding "pull the top trigger button down 75% to grab the block", it can simply be “grab the block”.

The Steam Controller has shown us what a boon this can be not only to players but to development as well. Modern game engines have also found the value in action based input systems. Unreal has been working with actions for a while now, and Unity has a new input system in development that also follows this theme.

Instead of thinking of input as a static button, with SteamVR Input developers define default bindings outside of your application and users can customize from there. It allows new devices to be used with the application with no code changes, easy customization for accessibility, handedness, or just personal preference.

A few months ago we released the first version of this SDK to the public. Today we are happy to release the matching Unity Plugin in the Unity Asset Store. This new plugin builds on top of the SteamVR Input system and gives Unity developers the ability to create actions in the editor, assign them to components, and generate named C# classes based on your actions for ease of access in code.

Download the new SteamVR Unity Plugin on the Unity Asset Store

The new input system uses a different approach from the previous input system, and we’ve updated the SteamVR Unity Interaction System to reflect these changes. We have also added more examples to help get developers into VR faster.

We’ve been working with this system alongside the development of the Knuckles controllers, and it works well with both EV2 and EV3 models. You can check out a more full fledged example of this system in action in the source of the Knuckles Tech Demos - the Moondust project. There's also a tutorial for using the new SteamVR Unity Plugin, which you can find here.

We still want your feedback moving forward. We recommend that all developers subscribe to the SteamVR Beta branch to make sure their applications work with the newest versions of SteamVR. The new version of the plugin is available now on the Unity Asset Store. The project is also up on Github to make it easier for developers to discuss the source code and inform us of issues.

Give the new system a try and let us know what you think in the pinned discussion about the SteamVR Unity Plugin 2.0.

SteamVR Home: New Maps, Asset Packs, and More

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

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

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

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
Upcoming Windows Mixed Reality Support on Steam