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]; }
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); }
// 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(); } }