コード例 #1
0
    public TwoHandedUserStudyManager(TwoHandedGesturesManager _handsManager)
    {
        UnityEngine.Debug.Log("Starting my UserStudy manager\n");
        handsManager = _handsManager;

        Transform manipulatable = GameObject.Find("/HologramCollection").transform;
        Transform target        = GameObject.Find("/GameObjectCollection").transform;

        hologramCount = manipulatable.childCount;
        int index = 0;

        targetGameObjects        = new GameObject[hologramCount];
        manipulatableGameObjects = new GameObject[hologramCount];
        boundingCubes            = new GameObject[hologramCount];
        TwoHandedCursorManager.boundingCubes.Keys.CopyTo(boundingCubes, 0);

        foreach (Transform child in manipulatable)
        {
            GameObject g = child.gameObject;
            manipulatableGameObjects[index++] = g;
        }

        index = 0;

        foreach (Transform child in target)
        {
            GameObject g = child.gameObject;
            targetGameObjects[index++] = g;
        }

        initialTransforms = new Dictionary <GameObject, TransformHelper>();

        for (index = 0; index < hologramCount; index++)
        {
            initialTransforms.Add(manipulatableGameObjects[index], new TransformHelper(manipulatableGameObjects[index].transform));
        }

        loggingTitles  = "User ID, Section, Technique, Hologram, Total Time (s), Time Spent Manipulating (s), Left Hand Losses, Right Hand Losses, Left Hand Taps, Right Hand Taps, Rotation X, Rotation Y, Rotation Z, ";
        loggingTitles += "Target Rotation X, Target Rotation Y, Target Rotation Z, Angle Between Rotations, Local Scale, Target Local Scale, Gesture Attempts, Training";

        loggingTitlesExtra  = "User ID, Section, Technique, Hologram, Time, Event Type, Gesture Type, ";
        loggingTitlesExtra += "Left Hand Position X, ";
        loggingTitlesExtra += "Left Hand Position Y, Left Hand Position Z, Right Hand Position X, Right Hand Position Y, Right Hand Position Z, Rotation X, Rotation Y, Rotation Z, ";
        loggingTitlesExtra += "Target Rotation X, Target Rotation Y, Target Rotation Z, Angle Between Rotations, Local Scale, Target Local Scale, Training, Training Section, Instructions Active, Instruction Sequence Number Shown";


        techniquesPermuted = new int[NUM_TECHNIQUES];

        for (int i = 0; i < NUM_TECHNIQUES; i++)
        {
            techniquesPermuted[i] = i;
        }

        //reshuffle(techniquesPermuted);

        totalTimeInRound      = new Stopwatch();
        totalTimeManipulating = new Stopwatch();

        recordingStrings = new List <string>();
    }
コード例 #2
0
    public TwoHandedCursorManager(TwoHandedGesturesManager _handsManager)
    {
        handsManager = _handsManager;

        Debug.Log("Starting my Cursor Manager");
        boundingCubes        = new Dictionary <GameObject, GameObject> ();
        boundingCubesInverse = new Dictionary <GameObject, GameObject> ();
        extents            = new Dictionary <GameObject, float>();
        initialRotations   = new Dictionary <GameObject, Quaternion> ();
        initialBounds      = new Dictionary <GameObject, Bounds> ();
        initialLocalScales = new Dictionary <GameObject, Vector3> ();
        AddBoundingCubes();
    }
コード例 #3
0
 public TwoHandedRotationManager(TwoHandedGesturesManager _handsManager)
 {
     handsManager = _handsManager;
     handsManager.rotationType = -1;
 }
コード例 #4
0
 public TwoHandedResizeManager(TwoHandedGesturesManager _handsManager)
 {
     Debug.Log("Starting my Resize manager\n");
     handsManager = _handsManager;
 }