0.2.5 just got pushed last week, but it’s already time for 0.2.6! Since the goal of this update is to improve the overall control experience of selecting and grabbing objects, I decided to get it out as soon as possible so I could see how it does and iterate on it more in the next update if necessary.
Always Be Pointing
Making grabbing and selection more precise involved a number of changes. First, and most noticeable, is that the technician’s hands now default to the “pointing” state. This seems like a pretty obvious change in retrospect, as the open-handed state never actually had any specific use. Players on Vive would constantly be pressing the trigger to stay in pointing mode anyhow, and Oculus Touch users had to remember to lift their finger from the touch trigger all the time. (Oculus controls now also use the trigger press instead of just the touch state to change pointing mode)
In addition to this just feeling more ‘correct’ for how players interact with switches and buttons and the like, the tip of the index finger is a natural focus point and used for selection when highlighting multiple objects. When touching several interactable objects, the object that is closest to the tip of the finger is the one that “wins” and gets highlighted. When pressing the trigger, you now go straight from pointing at an object to grabbing it, as before.
Since pointing mode is now the default, the old action (pressing the trigger when not highlighting anything) now stops pointing and forms a fist. Is the fist useful? No; no it is not. At least, not yet. It certainly has some pretty obvious implications for future use, though.
Smaller Selection
The hands previously had an ‘aura’ of sorts around them that selected objects that were a little ways away from it. This was a holdover from very early in development, and it no longer provides any benefit (in fact, makes interaction much more difficult in some cases). This has been removed and the hand now only selects objects it is directly touching. As I mentioned above, the index finger is used to determine the ‘closest’ object, but you don’t need to worry about explicitly pointing at your target in most cases; touching, grabbing, and auto-grabbing all work just as they did before.
Minor Tweaks
I also added a handful of smaller tweaks including a slower pointing animation, reduced ‘ghosting’ time and distance (for when your hand gets out of sync with controller position), and physics properties. I’m still not quite happy with the physics constraints that move the hands themselves, so I’m sure I’ll continue to tweak these over time. I’d like to implement some smoothing to higher frequency controller movements (to reduce shaking) as well, but haven’t yet found a method of doing so that I like.
Hopefully all of these changes come together to make the controls less frustrating and picky for most players, so try it out and let me know what you think!
Additional patch notes
- Updated tutorials for new hand controls
- Fixed tutorial ‘catching’ step to actually require catching
- Adding light haptics to gunshots
- Perf updates to connection rendering
- Fixed bug with connection pins not appearing/moving during editing