Skip to content

Unity version, Unity Asset Store Version, and Hand Tracking? #25

Open

Description

@A-Ivan

First of all I want to say that this is a great toolkit and very helpful for quickly implementing techniques for selection and manipulation research in VR. Thank you for publicly sharing this toolkit online.

I have some questions:

  1. I might have missed it but what Unity version is this toolkit compatible with?
  2. It is mentioned, on the main repository page, that the Unity Asset store version is coming soon, is it available yet?
  3. Have you thought of using hand tracking with more recent headsets that enable hand tracking, for instance the Oculus Quest, for *Image Plane Interaction Techniques (Sticky Finger, Head Crusher, Lifting Palm, Framing Hands)? It might be easier and more intuitive for users to use their hands in these cases instead of using a controller.

*Pierce, J. S., Forsberg, A. S., Conway, M. J., Hong, S., Zeleznik, R. C., & Mine, M. R. (1997). Image plane interaction techniques in 3D immersive environments. In Proceedings of the 1997 symposium on Interactive 3D graphics (pp. 39-ff).

Thank you.
Ivan

Activity

  1. kieran196 commented on Mar 17, 2022

    @kieran196
    Collaborator

    Hi Ivan. Thank-you! I'm glad you found it useful and I'm happy to answer your questions:

    1. The main versions I've tested it with are 2019.1, 2019.3, 2019.4 & I also just tested it out with 2020.1 so newer Unity versions should also be working fine.
    2. Initially we were planning on releasing it to the asset store but then we just never really got around to doing this haha. We don't have any plans to put it on the asset store in the future so I'll make sure to update the readme file.
    3. Although we don't have any plans to directly support other input systems or hardware, we developed a feature to make it easy for other developers to achieve this: Using the dependency Manager script you can set the SteamVR_Version to 'None' which will disable the SteamVR dependency, then you can drag your tracked input object into the 'TrackedObj' parameter of the script.

    Recently our lab ordered a large 3D volumetric looking glass display and I was playing around with a bunch of the interaction toolkits from the toolkit on the display using leap-motion hand-tracking system for input & some of them actually worked really well. We also presented in a paper we wrote about the toolkit some examples of using it with mobile AR displays & projectors. (May, K., Hanan, I., Cunningham, A., & Thomas, B. (2019, October). 3duitk: An opensource toolkit for thirty years of three-dimensional interaction research. In 2019 IEEE International Symposium on Mixed and Augmented Reality Adjunct (ISMAR-Adjunct) (pp. 175-180). IEEE.)

    3duitkdepmanager
    3duitkalternativehardwares

  2. A-Ivan commented on Mar 17, 2022

    @A-Ivan
    Author

    Hi Kieran
    Thank you for your reply. This information is helpful.

    Thanks for updating the ReadMe file, adding the paper link and information this is helpful. Good to know this also worked well with the LeapMotion controller.

    Are there some image files missing in the ReadMe section? I see the following:

    image

    I tried getting the project to with SteamVR version 2 but I am having some issues. What steps should I do to get that version to work?

    What I tried was to first open the download and open the project with Unity 2020.1. This presented the following error:

    "
    Deterministic compilation failed. You can disable Deterministic builds in Player Settings
    Library\PackageCache\com.unity.multiplayer-hlapi@1.0.2\Editor\Tools\Weaver\AssemblyInfo.cs(22,28): error CS8357: The specified version string contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilation
    "

    To resolve this error I updated the "Multiplayer HLAPI" to a newer version (version 1.1.1) via the Unity Package Manager (Unity Menu -> Window -> Package Manager).

    When opening an example scene (i.e. "Fishing Reel Example" - Assets/3DUITK/Technique Example Scenes/Scenes) the following error appears:

    "
    Component GUI Layer in Camera (head) for Scene Assets/3DUITK/Technique Example Scenes/Scenes/FishingReelExample.unity is no longer available.
    It will be removed after you edit this GameObject and save the Scene.
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    "

    But this does not seem to influence anything as the scene still plays.

    I then selected the FishingReel_Technique game object and in the "Dependencies Manager" script changed the Steam VR_Version to "Steam VR_2". This then presented a series of errors regarding namespaces of SteamVR actions (because Steam VR version 2 isn't in the project).

    To resolve this I removed the old SteamVR folders (Assets/3DUITK/Dependencies/SteamVR) and then imported a new version of SteamVR (version 2.7.3 (sdk 1.14.15)) via the Package Manager.

    When the new version of SteamVR was imported a "Fatal Error!" window appeared in Unity stating that "The file 'MemoryStream' is corrupted! Remove it and launch unity again! [Position out of bounds!]", this caused Unity to crash and close.

    When I reopened the Unity project the following errors appear:

    "
    Assets\3DUITK\Techniques\Depth Ray\Scripts\DepthRay.cs(109,13): error CS0103: The name 'm_touchpad' does not exist in the current context
    "

    "
    Assets\3DUITK\Techniques\Depth Ray\Scripts\DepthRay.cs(110,31): error CS0103: The name 'm_touchpad' does not exist in the current context
    "

    What should I do next to fix this? Am I on the right track? Do I also need to install (via the Package Manager) the OpenXR Plugin from Unity (since the XR Settings is no longer in player as of Unity version 2020.x)?

    Thank you.

  3. kieran196 commented on Apr 1, 2022

    @kieran196
    Collaborator

    Hi Ivan, sorry for the very delayed response!
    It looks like you've managed to get everything working. There was just a missing reference to the touchpad in the DepthRay script that was causing your compile error which I've patched up now. If you notice any issues associated with the existing CameraRig in the scene, deleting & redragging in a new SteamVR camerarig prefab should hopefully resolve this issue.

    I'm not sure if you will encounter this but I was noticing some compatibility issues with the latest version of SteamVR & Unity 2020.1 when making a project from scratch, however, downgrading to 2019.4.1 resolved these issues. Yes, I'd definitely recommend installing the OpenXR Plugin & OpenVR desktop from the package manager. The image file missing in the README is just a nulled color-code.

    Goodluck! & hopefully there are no more issues! :)

    • Kieran
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions