Skyrim Special Edition

File information

Last updated

Original upload

Created by

Shizof

Uploaded by

Shizof

Virus scan

Some files not scanned

About this mod

Draw gestures on Vive or WMR controller touchpad to equip spells! All spells are assigned to gestures and dragon tongue names. Draw the gestures with your thumb and equip them without opening the menu!

Requirements
Permissions and credits
Changelogs
DESCRIPTION

Touch Gesture VR is a mod to equip spells by drawing gestures on Vive or WMR Controller touchpad on main hand. On Main Hand Controller, touchpad (without pressing) is not used for anything other than in a menu. But the game keeps sending events when you draw stuff on it with your thumb. This mod captures those gestures and matches them with predefined symbols.

These symbols are all assigned to a dragon tongue word.




These are the symbol names: Yol, Fo, Qo, Laas, Spaan, Diil, Prodah, Ahkrin, Rahgot, Nahlot, Faas, Golz, Nos, Sik, Pah, Qah, Wol, Bel, Mul, Lun, Gro

There are also three other gestures for Jump: |  LeftHand: \  RightHand: /


Important stuff:


  • Change DeviceType in the config file according to the controller you use. For Vive it is 3 for right vive controller, for WMR it is 7.
  • Player will get a book named "Big Book of Gestures" the first time you load a game. This book has all the glyphs and their names on it. It also has all the spells included in the config by default with their dragon tongue names.

  • Basic spells have one gesture names like Flames=Yol, Sparks=Qo, Frostbite=Fo

  • High level spells have more than one gesture requirements. These gestures should be drawn one after other. So for Firebolt, you have to draw Yol and Nos afterwards within 1500ms(changeable in config). For Fire Storm you have to draw Yol and Nos three times within 1500ms. It would be easy because Nos is just a horizontal line. 

  • Gestures you draw are recognized after you raised your thumb off the touchpad. So every glyph must be drawn without raising the thumb. So glyphs like lun, prodah, ahkrin, faas, qah are drawn with a little bit of retracing.

  • By default, recognized spells are equipped to both your hands. To equip the spell to a specific hand, you need to draw a Left Slash "\" or Right Slash "/" after the spell's gesture set.

  • Gestures are not detected when you are in a menu. So you can use the touchpad like normal when you are in menu.

  • With the 1.2 Update, recognized glyphs are now shown in front of the vr hand. You can press trigger(configurable) to equip immediately without waiting for 1500ms(FastEquip option)

  • This mod comes with an esp file and script as well as some textures and an SKSE plugin dll. Stuff other than the dll are just for the in-game book and giving it to the player, and also for the force unequip spell feature. Other stuff are done in the SKSE plugin.

  • Spell names are changed when you launch the game automatically by appending the original name with the glyph name like Flames - Yol. You can disable this feature from the ini. Beware that you should do this before starting a new game, because the change is saved to the save game.




KEY ASSIGNING

There is also a Key assigning feature of this mod.

You can assign gestures to keys, and they are run immediately(instead of waiting).

For example, by default a straight(vertical) line is mapped to Jump (Space) button. So now you can unmap your regular jump button like me and use this if you want. Check the config to enable this.

These are all configurable in the ini file. Note that this feature requires Skyrim VR to be the active window. 

Assigned keys won't trigger while you are trying to activate something (Implemented in 1.1).









REQUIREMENTS


  • SKYRIMVR
  • VR Controllers with Touchpads (Like Vive or WMR Controller)
  • SKSEVR




FAQ

Q: Do I have to press any button to start drawing? How do you start drawing? Nowhere in the guide it says how to use the mod!
A: You just draw the gestures with your thumb on the touchpad without pressing the touchpad button. No button presses before is required. There are no complex systems with this mod. It starts recording any second you are not in a menu, and recognizes it after your thumb leaves the touchpad.


Q: I see complex versions of lightning, W and M in those symbols. Why?
A: To increase recognition by the system, that's all. You can draw simple versions of those(like M and W) and they'll still be recognized.


Q: I have a WMR, it doesn't work.
A: WMR controller support is added on version 1.2. Make sure you change DeviceType to 7 in TouchGestureVR_plugin.ini config file.


Q: My gestures are not recognized sometimes. How do I increase my precision?
A: You can draw the glyphs a little slower to increase recognition percentage. Point Cloud algorithm requires points to work. If you draw them really fast, there won't be any points to compare unfortunately. So draw the first glyph slow, the others a little faster to keep within the time limit.


Q: I can't draw fast enough for the high level spells. The basic level spells are equipped always. Or I can't draw fast enough to draw left or right hand glyphs.
A: Increase NextGestureWaitDuration setting from the config. That setting is for milliseconds. Default is 1500ms. That should be enough for most, but you can try 2000 if you want.





CONFIGURATION

This mod has a configuration file in "SKSE\Plugins\TouchGestureVR_plugin.ini", there are comments in the config file explaining stuff.

Gesture XML files are in "SKSE\Plugins\TouchGestureVR" folder.

You can make your own gesture files and add to that folder and use them. You'd need a $P recognizer compatible XML creator program like this: MageVR Glyph Editor. Note that this would not produce ready to use files for this mod, but you can modify them for using with this mod too.


Important settings to mention:


SpellRecognizedNotification: Set this to 1 to show notification messages when a gesture set of a spell is recognized. Default is 0.

ForceUnequipSpells: Set this to 1 to unequip spells equipped from a menu automatically. This is for hardcore players. Default is 0.

UpdateSpellNames: Set this to 1 to add gesture names after the Spell names automatically. Like: Flames - Yol. Note that this sticks to your save game. Default is 1.

NextGestureWaitDuration: This value is the wait duration in milliseconds after the first gesture is drawn for additional gestures before a spell is equipped. Default is 1500.


IgnoredPathLength: Gestures shorter than this length are ignored to prevent small accidental touches to be recognized as glyphs. Default is 10. You can set it up to 30 if you are still getting accidental touch recognitions.

DeviceType: This selects the device to get inputs from. Set it to 7 for right hand WMR Controller. Default is 3 for Vive controllers


ShowGlyphImages: Shows the recognized glyphs in front of your right hand. Default is 1.

FastEquip: Fast equip can be used to equip the recognized spell without waiting the 1500ms duration. Default is 1.
FastEquipButton: Button Id for fast equipping. Default is Trigger(33).

TouchButton: Touchpad button on your controller. Default is 32. 
Presses to this button causes gestures to be discarded. Used to prevent accidental gestures when turning/activating etc. Note that this doesn't prevent AssignToKey actions like jump, so if you don't want that I suggest disabling jump.

DefaultHandSelection: 0:Left hand  1:Right Hand  2:Both Hands. Change this if you want it to equip the spell to left hand only or right hand only by default. Default value:2 (Both Hands)


[AssignToKey] section: In this section you can map gestures to keyboard keys to be pressed when you draw that gesture.
By default, line is mapped to space key.


[SpellNames] section: In this section you will find that (almost) all the usable spells in the game are mapped to gesture sets. The format is this:
gesture set = FormId of the spell or Esp/Esm of the mod file|formid = Original Name of the Spell

Examples:
yol = 00012FCD = Flames
nahlot nos = Dragonborn.esm|017731 = Ash Shell

Original Name of the Spell is needed for showing the updated names in game, like Flames - Yol.




CREDITS

  • Radu-Daniel Vatavu, Lisa Anthony, and Jacob O. Wobbrock for $P Point-Cloud Recognizer. This mod uses a modified C++ version of that library.

  • Muken for the initial idea of using $P recognizer for gestures.

  • mikecorgi for MageVR Glyph Editor. I used his tool to make the XMLs.

  • Rallyeator for the ideas on how to make the textures for the glyphs.

  • prog and lfrazer for code related brainstorming as always.

  • powerofthree for help with showing glyphs in front of vr hand.

  • LordJeffrey for testing in WMR.





FUTURE

  • Let me know if you have any ideas for the future.