TouchSense Force Plugin Aims to Help VR Game Devs Make Better Haptics, Faster

Founded in 1993, Immersion Corp. designs and licenses haptic technology that’s come to be used in gamepads you’re well familiar with. Now the company is developing a new haptic programming system which aims to help game developers make better haptics effects for their games, faster.

The latest generation of VR controllers use more advanced haptics than the basic rumble that you find in today’s gamepads. But if you’ve played much VR, you’ve probably found that the capabilities of these haptics have gone largely underutilized by a wide swath of today’s VR games.
Immersion Corp. says this is because programming haptic effects is hard, and today it generally involves code-level input of values like amplitude, frequency, and time signatures in order to trigger the haptics inside of a controller. Now the company says they’ve made a better way, thanks to the TouchSense Force plugin (and API) which makes the creation of haptic effects into a much more intuitive visual process.
.IRPP_kangoo , .IRPP_kangoo .postImageUrl , .IRPP_kangoo .imgUrl , .IRPP_kangoo .centered-text-area { min-height: 100px; position: relative; } .IRPP_kangoo , .IRPP_kangoo:hover , .IRPP_kangoo:visited , .IRPP_kangoo:active { border:0!important; } .IRPP_kangoo { display: block; transition: background-color 250ms; webkit-transition: background-color 250ms; width: 100%; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #eaeaea; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); } .IRPP_kangoo:active , .IRPP_kangoo:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #e6e6e6; } .IRPP_kangoo .postImageUrl , .IRPP_kangoo .imgUrl { background-position: center; background-size: cover; float: left; margin: 0; padding: 0; } .IRPP_kangoo .postImageUrl { width: 30%; } .IRPP_kangoo .imgUrl { width: 100%; } .IRPP_kangoo .centered-text-area { float: right; width: 70%; padding:0; margin:0; } .IRPP_kangoo .centered-text { display: table; height: 100px; left: 0; top: 0; padding:0; margin:0; } .IRPP_kangoo .IRPP_kangoo-content { display: table-cell; margin: 0; padding: 0 10px 0 10px; position: relative; vertical-align: middle; width: 100%; } .IRPP_kangoo .ctaText { border-bottom: 0 solid #fff; color: #1ABC9C; font-size: 13px; font-weight: bold; letter-spacing: .125em; margin: 0; padding: 0; text-decoration: underline; } .IRPP_kangoo .postTitle { color: #34495E; font-size: 16px; font-weight: 600; margin: 0; padding: 0; } .IRPP_kangoo .ctaButton { background-color: #e6e6e6; margin-left: 10px; position: absolute; right: 0; top: 0; } .IRPP_kangoo:hover .imgUrl { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); } .IRPP_kangoo .imgUrl { -webkit-transition: -webkit-transform 0.4s ease-in-out; -moz-transition: -moz-transform 0.4s ease-in-out; -o-transition: -o-transform 0.4s ease-in-out; -ms-transition: -ms-transform 0.4s ease-in-out; transition: transform 0.4s ease-in-out; } .IRPP_kangoo:after { content: “”; display: block; clear: both; } SEE ALSOHands-on: StrikerVR’s Latest Prototype Haptic Gun Packs More Than Just Virtual Bullets
Rather than coding specific timing, amplitude, and frequency values, TouchSense Force (launching initially for UE4) creates a ‘clip’-based timeline interface which will be instantly familiar to anyone who has edited audio or video files. The timeline allows developers to pull an animation into the system, very easily design haptic effects that are finely tuned to the animation, and play those effects back with the animation on the fly for testing and tweaking.

So instead of a reloading gun animation just causing a simple rumble for a second or two, a developer using TouchSense Force could create a complex series of haptic effect clips that closely match every part of the animation for added realism.
Immersion Corp was demonstrating TouchSense Force at SVVR 2017 this week where they were showing an animation of a robotic glove enclosing the hand of a VR user (definitely not inspired by Iron Man’s suit-up scenes), which had a lot of intricate detail and moving parts.

In something like 10 minutes, according to the company, they were able to use the TouchSense Force plugin to design a series of varied effects which carefully synced to the activity on the glove; something which traditionally could have taken hours of careful tweaking. Trying the result for myself using a Rift headset and Touch controller, it was indeed very impressive, far beyond the level of haptic detail I’ve seen from any VR game to date.
Actually creating these effects with the plugin is completely essentially code-free. I have a basic understanding of audio editing and waveforms, and I very quickly understood the process of creating each effect; I’m confident I would be able to create my own using the plugin, which is pretty cool considering that I have no game development experience. That level of intuitivity means that creating such effects is easier and faster, and gives a huge level of control to developers. There’s hope that this will open the door to developers bringing much more attention to detail in their use of haptics for VR games.
And there’s a few other cool functions that Immersion Corp. is building into this tool. For one, if the animation ends up getting changed, the haptic effects can change with it automatically. This works by associating specific haptic clips to specific moments in the animation using UE4’s Notifies animation system. Because the animation and the haptic clips are linked, changing the animation will also change the playback timing of the haptic clips, which means developers can tweak the haptics and the animation independently without needing to repeat their work if they decide to make a tweak after the fact.
.IRPP_kangoo , .IRPP_kangoo .postImageUrl , .IRPP_kangoo .imgUrl , .IRPP_kangoo .centered-text-area { min-height: 100px; position: relative; } .IRPP_kangoo , .IRPP_kangoo:hover , .IRPP_kangoo:visited , .IRPP_kangoo:active { border:0!important; } .IRPP_kangoo { display: block; transition: background-color 250ms; webkit-transition: background-color 250ms; width: 100%; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #eaeaea; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); } .IRPP_kangoo:active , .IRPP_kangoo:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #e6e6e6; } .IRPP_kangoo .postImageUrl , .IRPP_kangoo .imgUrl { background-position: center; background-size: cover; float: left; margin: 0; padding: 0; } .IRPP_kangoo .postImageUrl { width: 30%; } .IRPP_kangoo .imgUrl { width: 100%; } .IRPP_kangoo .centered-text-area { float: right; width: 70%; padding:0; margin:0; } .IRPP_kangoo .centered-text { display: table; height: 100px; left: 0; top: 0; padding:0; margin:0; } .IRPP_kangoo .IRPP_kangoo-content { display: table-cell; margin: 0; padding: 0 10px 0 10px; position: relative; vertical-align: middle; width: 100%; } .IRPP_kangoo .ctaText { border-bottom: 0 solid #fff; color: #1ABC9C; font-size: 13px; font-weight: bold; letter-spacing: .125em; margin: 0; padding: 0; text-decoration: underline; } .IRPP_kangoo .postTitle { color: #34495E; font-size: 16px; font-weight: 600; margin: 0; padding: 0; } .IRPP_kangoo .ctaButton { background-color: #e6e6e6; margin-left: 10px; position: absolute; right: 0; top: 0; } .IRPP_kangoo:hover .imgUrl { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); } .IRPP_kangoo .imgUrl { -webkit-transition: -webkit-transform 0.4s ease-in-out; -moz-transition: -moz-transform 0.4s ease-in-out; -o-transition: -o-transform 0.4s ease-in-out; -ms-transition: -ms-transform 0.4s ease-in-out; transition: transform 0.4s ease-in-out; } .IRPP_kangoo:after { content: “”; display: block; clear: both; } SEE ALSOMicrosoft Research Demonstrates VR Controller Prototypes With Unique Haptic Technology
The plugin also offers cross-platform support, so that developers can author their haptic effects once, and have those effects play back as closely as possible on other controllers (which could even have different haptic technologies in them) without re-authoring for that controller’s own haptic API.
TouchSense Force is now available to select developers in early access as a UE4 plugin (you can sign up for access here). The pricing model is presently unannounced. The company says they also plan to make available a Unity plugin in Q3, and will release an API to allow integration of the same feature set into custom game engines. Presently the system supports Oculus Touch, Nintendo Switch, and unspecified “TouchSense Force-compatible hardware,” though we imagine the company is working to get Vive controllers integrated ASAP.
The post TouchSense Force Plugin Aims to Help VR Game Devs Make Better Haptics, Faster appeared first on Road to VR.

Source: TouchSense Force Plugin Aims to Help VR Game Devs Make Better Haptics, Faster