예제 #1
0
    void setUpExperimentTrackingAreaShape(VirtualPathGenerator.PathSeedChoice pathSeedChoice, System.Type redirector, System.Type resetter)
    {
        // Initialize Values
        this.redirector            = redirector;
        this.resetter              = resetter;
        pathSeeds                  = new List <VirtualPathGenerator.PathSeed>();
        trackingSizes              = new List <TrackingSizeShape>();
        initialConfigurations      = new List <InitialConfiguration>();
        gainScaleFactors           = new List <Vector3>();
        trialsForCurrentExperiment = pathSeedChoice == VirtualPathGenerator.PathSeedChoice.LongWalk ? 1 : MAX_TRIALS;

        switch (pathSeedChoice)
        {
        case VirtualPathGenerator.PathSeedChoice.Office:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedOfficeBuilding());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationSmall:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationSmall());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationLarge:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationLarge());
            break;

        case VirtualPathGenerator.PathSeedChoice.LongWalk:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedLongCorridor());
            break;

        case VirtualPathGenerator.PathSeedChoice.ZigZag:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedZigzag());
            break;
        }

        for (int area = 100; area <= 200; area += 50)
        {
            for (float ratio = 1; ratio <= 2; ratio += 0.5f)
            {
                trackingSizes.Add(new TrackingSizeShape(Mathf.Sqrt(area) / Mathf.Sqrt(ratio), Mathf.Sqrt(area) * Mathf.Sqrt(ratio)));
            }
        }

        initialConfigurations.Add(new InitialConfiguration(new Vector2(0, 0), new Vector2(0, 1)));
        initialConfigurations.Add(new InitialConfiguration(new Vector2(0, 0), new Vector2(1, 0)));
        initialConfigurations.Add(new InitialConfiguration(new Vector2(0, 0), Vector2.one)); // HACK: THIS NON-NORMALIZED ORIENTATION WILL INDICATE DIAGONAL AND WILL BE FIXED LATER
        gainScaleFactors.Add(Vector3.one);
    }
예제 #2
0
    void setUpExperimentTrackingAreaSizePerformance(VirtualPathGenerator.PathSeedChoice pathSeedChoice, System.Type redirector, System.Type resetter)
    {
        // Initialize Values
        this.redirector            = redirector;
        this.resetter              = resetter;
        pathSeeds                  = new List <VirtualPathGenerator.PathSeed>();
        trackingSizes              = new List <TrackingSizeShape>();
        initialConfigurations      = new List <InitialConfiguration>();
        gainScaleFactors           = new List <Vector3>();
        trialsForCurrentExperiment = pathSeedChoice == VirtualPathGenerator.PathSeedChoice.LongWalk ? 1 : MAX_TRIALS;

        switch (pathSeedChoice)
        {
        case VirtualPathGenerator.PathSeedChoice.Office:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedOfficeBuilding());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationSmall:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationSmall());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationLarge:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationLarge());
            break;

        case VirtualPathGenerator.PathSeedChoice.LongWalk:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedLongCorridor());
            break;

        case VirtualPathGenerator.PathSeedChoice.ZigZag:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedZigzag());
            break;
        }

        for (int i = 2; i <= 60; i += 1)
        {
            trackingSizes.Add(new TrackingSizeShape(i, i));
        }

        initialConfigurations.Add(new InitialConfiguration(new Vector2(0, 0), new Vector2(0, 1)));
        gainScaleFactors.Add(Vector3.one);
    }
예제 #3
0
    void setUpExperimentFixedTrackingArea(VirtualPathGenerator.PathSeedChoice pathSeedChoice, System.Type redirector, System.Type resetter)
    {
        // Initialize Values
        this.redirector            = redirector;
        this.resetter              = resetter;
        pathSeeds                  = new List <VirtualPathGenerator.PathSeed>();
        trackingSizes              = new List <TrackingSizeShape>();
        initialConfigurations      = new List <InitialConfiguration>();
        gainScaleFactors           = new List <Vector3>();
        trialsForCurrentExperiment = pathSeedChoice == VirtualPathGenerator.PathSeedChoice.LongWalk ? 1 : MAX_TRIALS;

        switch (pathSeedChoice)
        {
        case VirtualPathGenerator.PathSeedChoice.Office:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedOfficeBuilding());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationSmall:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationSmall());
            break;

        case VirtualPathGenerator.PathSeedChoice.ExplorationLarge:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedExplorationLarge());
            break;

        case VirtualPathGenerator.PathSeedChoice.LongWalk:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedLongCorridor());
            break;

        case VirtualPathGenerator.PathSeedChoice.ZigZag:
            pathSeeds.Add(VirtualPathGenerator.getPathSeedZigzag());
            break;
        }

        trackingSizes.Add(new TrackingSizeShape(simulationManager.envManager.trackedSpace.localScale.x, simulationManager.envManager.trackedSpace.localScale.z));

        initialConfigurations.Add(new InitialConfiguration(new Vector2(0, 0), new Vector2(0, 1)));
        gainScaleFactors.Add(Vector3.one);
    }