Head Gesture Detector for Virtual Reality

‘Head Gesture Detector’ is a simple drag-n-drop add-in for Unity that will detect head gesture for natural user interfaces.
You app asks yes/no questions which the user answers by nodding or shaking their head, just like in real life. Other gestures such as tilts and nods are also detected. Easily added to any project, this can be used with Oculus, Durovis Dive, Samsung Gear, Google Cardboard, or even AI or animated characters! Go get it at the Asset Store!

10 thoughts on “Head Gesture Detector for Virtual Reality

  1. Being a non-scripter at the moment, your head gesture tool looks great.
    I have a DK2 and can use Unity quite well with a product called “Visual Actions”
    Do you know off hand if there would be a way to integrate Visual Actions so’s to detect the Head movement from within it?
    Hope that makes sense?
    Basically I want to be able to use Head gestures to trigger an event from within Visual actions.
    Whew !!
    Colin in Australia

    • Hi Colin,
      Thanks for trying it out. I don’t have Visual Actions, but it may be possible. There are a few mechanisms available to signal the detection. My guess is this is a better question for the author of “Visual Actions”, I think it would probably expose things on HGD that you could use.

  2. Hi, I have bought your head Gesture detector because I need to implement a headTracker. what I need is to move the camera when the person move their head. So Instead of
    transform.eulerAngles = new Vector3 (Input.acceleration.z * -90f, Input.compass.magneticHeading-initHeading, 0f);

    I need something like transform.position= new Vector (…) , I can move up and down using Input.acceleartion.z but I don’t know how to detect when user move the head from left to right.


  3. Hi Ramiro, thanks for the purchase. At this time, there is nothing built into the Head Gesture Detector dealing with position, only rotation. But can you check Input.acceleration.x to check for side-to-side motion? If this is of value, I’ll put it on the to-do list for the next release (which will also have gaze-detection and some other things).

    • Thanks for your quick answer! The head rotation is exactly what I want! But instead of rotating the camera when the users rotates the head , I want to translate it. So right now you use : transform.eulerAngles = new Vector3 (Input.acceleration.z * -90f, Input.compass.magneticHeading-initHeading, 0f); What I want is to change transform.eulerAngles for transform.position, the problem is that when I do it, the rotation horizontally(left to right) becames very inexactly.
      So, why transform.eulerAngles works perfectly with good precision and when changing to transfom.position became inexactly? Maybe the solution is to calculate the position with eulerAngles but I donĀ“t find a way to do it. Can you help me?

    • Yes it should be. It just tracks the ‘head’ object, however that’s driven (Oculus, cardboard, or even manually rotating in the Editor)

      • I’ll post an update soon, but for now, on Vive, you can edit the script thus:

        void Start ()
        if (trackedHead == null)
        trackedHead = transform;
        if (name == "Main Camera (origin)")
        trackedHead = transform.FindChild("Main Camera (eye)");

        As long as you use the default naming convention on the Steam prefabs, it will work.

    • @TJ or HeadGesture devs… Were either of you ever able to confirm that it works with the Vive and any recent versions of the SteamVR Plugin/Unity 5.*?

      I just don’t want to spend $5 pointlessly, ya know? Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

Human? *