Exemplo n.º 1
0
    void ChangeTrialGenerator()
    {
        if (!currentTrialGenerator.HasExperiemntFinsihed)
        {
            return;
        }

        playerObject.transform.position = StartLocation.transform.position;
        playerObject.transform.rotation = StartLocation.transform.rotation;

        if (trialGenerators.IndexOf(currentTrialGenerator) == trialGenerators.Count - 1)
        {
            instructions[8].active = true;
            experimentFinished     = true;
            return;
        }

        switch (currentTrialGenerator.PreferenceMode)
        {
        case PreferenceMode.DEPTH:
            instructions[5].active = true;
            break;

        case PreferenceMode.APPEARANCE:
            instructions[7].active = true;
            break;

        default:
            break;
        }

        currentTrialGenerator = trialGenerators[trialGenerators.IndexOf(currentTrialGenerator) + 1];
    }
Exemplo n.º 2
0
    public void randomMovePounts()
    {
        Vector3 p1, p2;

        /*
         *      float bSr = 0;
         *      float bHr = 0;
         *      int iters = 10000;
         *      for(int i = 0; i< iters; i++)
         *      {
         *
         *          TrialGenerator.TwoHeightComparisons(out p1, out p2, Terrain.activeTerrain, 128, 964, 128, 964, 50, 300, 0.05f, 0.09f, 1, 0.4f);
         *          setProjectors(p1, p2);
         *          bHr += blueIsAboveRed ? 1 : 0;
         *
         *
         *          TrialGenerator.TwoSightComparisons(out p1, out p2, Terrain.activeTerrain, 128, 964, 128, 964, 100, 500, 4);
         *          setProjectors(p1, p2);
         *          bSr += blueCanSeeRed ? 1 : 0;
         *      }
         *      Debug.Log("Blue is above red " + (bHr / iters) * 100 + "% of the time");
         *      Debug.Log("Blue can see red " + (bSr/ iters) * 100 + "% of the time");
         */
        TrialGenerator.TwoHeightComparisons(out p1, out p2, Terrain.activeTerrain, 128, 964, 128, 964, 100, 300, 0.05f, 0.09f, 0.5f, 0.0f);

        //TrialGenerator.TwoSightComparisons(out p1, out p2, Terrain.activeTerrain, 128, 964, 128, 964, 100, 500, 3);
        setProjectors(p1, p2);
    }
Exemplo n.º 3
0
    // Manually set Conditions here
    void CreateTrialGenerators()
    {
        trialGenerators = new List <TrialGenerator>();

        //DEPTH
        List <Condition> depthConditions = new List <Condition>();

        Condition wanatConditionDepth = new Condition("wanat", repetitions, EnhancemenVsMode.WANAT, PreferenceMode.DEPTH, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        depthConditions.Add(wanatConditionDepth);

        Condition noEnhancementConditionDepth = new Condition("noEnhancement", repetitions, EnhancemenVsMode.NONE, PreferenceMode.DEPTH, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        depthConditions.Add(noEnhancementConditionDepth);

        Condition fooDepth = new Condition("fooDepth", 1, EnhancemenVsMode.FOODEPTH, PreferenceMode.DEPTH, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        depthConditions.Add(fooDepth);

        TrialGenerator depthTrialGen = new TrialGenerator(playerObject, depthConditions, locations, PreferenceMode.DEPTH);

        trialGenerators.Add(depthTrialGen);



        //DEPTH WARMUP
        List <Condition> warmupDepthConditions = new List <Condition>();

        Condition warmupDepth = new Condition("warmupDepth", 1, EnhancemenVsMode.FOODEPTH, PreferenceMode.DEPTH, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        warmupDepthConditions.Add(warmupDepth);

        TrialGenerator warmupDepthTrialGen = new TrialGenerator(playerObject, warmupDepthConditions, locations, PreferenceMode.DEPTH);
        //trialGenerators.Add(warmupDepthTrialGen);



        //APPEARANCE
        List <Condition> appearanceConditions = new List <Condition>();

        Condition wanatConditionAppearance = new Condition("wanat", repetitions, EnhancemenVsMode.WANAT, PreferenceMode.APPEARANCE, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        appearanceConditions.Add(wanatConditionAppearance);

        Condition noEnhancementConditionAppearance = new Condition("noEnhancement", repetitions, EnhancemenVsMode.NONE, PreferenceMode.APPEARANCE, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        appearanceConditions.Add(noEnhancementConditionAppearance);

        Condition fooAppear = new Condition("fooAppear", 1, EnhancemenVsMode.FOOAPPEAR, PreferenceMode.APPEARANCE, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        appearanceConditions.Add(fooAppear);

        TrialGenerator appearanceTrialGen = new TrialGenerator(playerObject, appearanceConditions, locations, PreferenceMode.APPEARANCE);

        trialGenerators.Add(appearanceTrialGen);



        //DEPTH WARMUP
        List <Condition> warmupAppearConditions = new List <Condition>();

        Condition warmupAppear = new Condition("warmupAppear", 1, EnhancemenVsMode.FOODEPTH, PreferenceMode.APPEARANCE, enhancementScriptWanat, enhancementScriptWolski, monoRendering, uglyImage);

        warmupAppearConditions.Add(warmupAppear);

        TrialGenerator warmupAppearTrialGen = new TrialGenerator(playerObject, warmupAppearConditions, locations, PreferenceMode.APPEARANCE);

        //trialGenerators.Add(warmupAppearTrialGen);



        //Random selection of the first mode
        trialGenerators.Shuffle();

        //Inject warmup sessions;
        if (trialGenerators[0].PreferenceMode == PreferenceMode.DEPTH)
        {
            trialGenerators.Insert(0, warmupDepthTrialGen);
            trialGenerators.Insert(2, warmupAppearTrialGen);
        }
        else
        {
            trialGenerators.Insert(0, warmupAppearTrialGen);
            trialGenerators.Insert(2, warmupDepthTrialGen);
        }

        currentTrialGenerator = trialGenerators[0];

        //Generate trials
        foreach (TrialGenerator generator in trialGenerators)
        {
            generator.CreateTrials();
            generator.PrintOutConditionName();
        }
    }