protected void UpdatePosition(SixenseInput.Controller controller, HydraDeckCamera DeckCamera)
    {
        Vector3 BodyPosition = DeckCamera.BodyPosition;

        Vector3 controllerPosition = new Vector3(controller.Position.x,
                                                  controller.Position.y - DeckCamera.HydraFloorY,
                                                  controller.Position.z);

        //Orientate it to our scene
        controllerPosition = DeckCamera.StartCameraOffset * controllerPosition;

        controllerPosition.Scale(DeckCamera.HydraToWorldScale);

        // update the localposition of the object
        this.gameObject.transform.position = BodyPosition + controllerPosition;
    }
    protected void UpdatePosition(SixenseInput.Controller controller, HydraDeckCamera DeckCamera)
    {
        if (InitialYCuePosition == 0.0f){
            InitialYCuePosition = this.gameObject.transform.position.y - 0.2f;
        }

        Vector3 BodyPosition = DeckCamera.BodyPosition;
        Vector3 controllerPosition = new Vector3(controller.Position.x,
                                                  InitialYCuePosition,
                                                  controller.Position.z);

        //Orientate it to our scene
        controllerPosition = DeckCamera.StartCameraOffset * controllerPosition;

        controllerPosition.Scale(DeckCamera.HydraToWorldScale);
        if (InitialZControllerPosition == 0.0f){
            InitialZControllerPosition = controllerPosition.z;
        }
        float distance = ((float)(controllerPosition.z - InitialZControllerPosition) * 1.5f);

        // update the localposition of the object
        this.gameObject.transform.position = BodyPosition + controllerPosition;
        this.gameObject.transform.position = new Vector3(gameObject.transform.position.x,
                                          InitialYCuePosition,
                                          gameObject.transform.position.z);
        this.gameObject.transform.localPosition = new Vector3(gameObject.transform.localPosition.x,
                                          gameObject.transform.localPosition.y,
                                          gameObject.transform.position.z + distance);
    }