Theory: Object selection can be improved when a system similar to A* pathfinding is implemented to continuously log the relative position of objects to the player.
Objective: A system that better tracks position of interactable objects would allow the player more interactions with objects, such as grabbing multiple objects with one hand, with higher precision. Possible challenges and limitations:
Process I start with a basic Unity environment(v2019.3.7f1) using SteamVR(v2.6.1). This game engine and VR utility were chosen, because of ease in development for multiple platforms simultaneously and personal familiarity with the API. The designed objective for experimentation would be to accurately pick up the most likely intended ball out of a container with multiple balls in it. This represents a recreation of an observed issue in other experiences, where objects grouped together can be tricky to grab the intended object on first try.
Scripts were written to have calculation of distance and priority separate from control of “grabability”. This meant having the ‘DistanceCheck’ script build a list of all balls based on their priority(or distance to player hand) and only enable the closest ball to be grabbed. To test functionality, only the left hand is included in calculations in order to have the right hand make sure that non priority balls are not grabbable.
The ‘Ball’ script simply switches the individual ball’s state based on the ‘canGrab’ boolean. The script will enable or disable the Interactable and Throwable functionalities provided by the SteamVR plugin. The color of the ball’s material is also changed to provide visual feedback during testing. Red means that the ball is the calculated closest ball to the player’s hand and is grabbable, while blue means that the ball is not.
Result
While the system has been implemented, something within the Steamvr system still overrides determination of grabbable objects and does not disable upon calculations from the ‘DistanceCheck’ script. This results in a failure to improve the 3D selection system in this demo, however it does serve well to exemplify the issues with the current SteamVR system and its inaccuracies.
Future
In future experiments, further exploration of SteamVR scripting will be necessary to counteract the overriding of the proposed system. This system could also be tested with objects building neighborhood networks to so simulate grabbing a handful of objects(ie. like you would in real life to grab a handful of candy during halloween from a bucket). Sources:
0 Comments
|
AuthorInterested in Level design, Procedural Generation, System Design, Geospatial Technology, and many other aspects of Game Development. Archives
March 2021
Themes |