void pureScreen() { // setting //ScreenRecorder screenRecorder = wooden_fence.GetComponent<ScreenRecorder>(); Destroy(canvasobject); Destroy(canvasobject2); screenshot_finsh = false; output = new List <string>(); output_time = new List <string>(); motion_1_finished = false; motion_2_finished = false; motion_3_finished = false; person_who_head_moved = new List <string>(); person_who_head_NOT_moved = new List <string>(); showed_head_profile = new List <string>(); task_fmri_item_subject_person remove_persons = wooden_fence.GetComponent <task_fmri_item_subject_person>(); remove_persons.remove_persons(); output.Add(which_subject_group.ToString() + "\t"); showBackgroundScreen(); trial_time.Start(); if (eyelink_involved) { eyelink.trial_ith(trial_ith); eyelink.add_label("ITI"); } if (Is1stTrial) { output_time.Add(0.ToString() + "\t"); } else { pure_duration = UnityEngine.Random.Range(3.0f, 5.0f); output_time.Add(pure_duration.ToString() + "\t"); } output_time.Add(exp_time.ElapsedMilliseconds.ToString() + "\t"); if (noITI) { Invoke("noise_screen1", 0.1f); } else { if (Is1stTrial) { Invoke("waitForTR", 8.0f); } else if (!Is1stTrial) { Invoke("waitForTR", pure_duration); } } }
void reset_subject_facing_direction() { task_fmri_item_subject_person set_subject_facing_direction = wooden_fence.GetComponent <task_fmri_item_subject_person>(); set_subject_facing_direction.set_subject_facing_direction(); //output output.Add(which_person + " \t"); // facing person output.Add(facing_direction + " \t"); // facing direction task_fmri_item_subject_person rotate_person = wooden_fence.GetComponent <task_fmri_item_subject_person>(); rotate_person.person_face_to_center(); show_facing_person(); }
void FixedUpdate() { if (timeRecordForTotal) { Duration_for_total += Time.deltaTime; } if (timeRecordForWalking) { Duration_for_walk += Time.deltaTime; } if (timeRecordForRunning_constantSpeed) { Duration_for_run_constantSpeed += Time.deltaTime; } if (IsExploring) { timeRecordForTotal = true; task_fmri_item_subject_person person_face_to_mov_sub = wooden_fence.GetComponent <task_fmri_item_subject_person>(); person_face_to_mov_sub.person_face_to_moving_subject(); diff_betw_2Points = subject_response_position - FirstPersonController.m_CharacterController.transform.position; distance_to_center = Vector3.Distance(subject_response_position, FirstPersonController.m_CharacterController.transform.position); if (distance_to_center > 0.25f) { // give head motion if (distance_to_center <= distance_to_center_showing_motion_1 & !motion_1_finished) { motion_1_finished = true; task_fmri_item_subject_person head_movement = wooden_fence.GetComponent <task_fmri_item_subject_person>(); person_who_head_moved.Add(headmovement_order.ElementAt(0)); head_movement.start_headMovement(headmovement_order.ElementAt(0)); } if (distance_to_center <= distance_to_center_showing_motion_2 & !motion_2_finished) { motion_2_finished = true; task_fmri_item_subject_person head_movement = wooden_fence.GetComponent <task_fmri_item_subject_person>(); person_who_head_moved.Add(headmovement_order.ElementAt(0)); head_movement.start_headMovement(headmovement_order.ElementAt(0)); } if (distance_to_center <= distance_to_center_showing_motion_3 & !motion_3_finished) { motion_3_finished = true; task_fmri_item_subject_person head_movement = wooden_fence.GetComponent <task_fmri_item_subject_person>(); person_who_head_moved.Add(headmovement_order.ElementAt(0)); head_movement.start_headMovement(headmovement_order.ElementAt(0)); } // walking & run controller if (distance_to_center > point_to_run) { timeRecordForWalking = true; moving_direction = new Vector3(diff_betw_2Points.normalized.x, -0.1f, diff_betw_2Points.normalized.z); FirstPersonController.m_CharacterController.Move(moving_direction * initial_speed * Time.deltaTime); } else if (distance_to_center <= point_to_run) { if (!screenshot_finsh) { ScreenCapture.CaptureScreenshot("/Users/boo/Desktop/" + which_map + "-" + which_direction + ".png"); screenshot_finsh = true; } //UnityEngine.Debug.Log ("start"+initial_speed); timeRecordForWalking = false; //UnityEngine.Debug.Log ("Duration_for_walk" + Duration_for_walk); speedup_duration -= Time.deltaTime; if (speedup_duration > 0) { initial_speed = initial_speed + 0.125f; //+ 0.121f 0.125 0.141f moving_direction = new Vector3(diff_betw_2Points.normalized.x, -0.1f, diff_betw_2Points.normalized.z); FirstPersonController.m_CharacterController.Move(moving_direction * initial_speed * Time.deltaTime); } if (speedup_duration <= 0) { timeRecordForRunning_constantSpeed = true; moving_direction = new Vector3(diff_betw_2Points.normalized.x, -0.1f, diff_betw_2Points.normalized.z); FirstPersonController.m_CharacterController.Move(moving_direction * initial_speed * Time.deltaTime); } } } else { //UnityEngine.Debug.Log ("final"+initial_speed); timeRecordForRunning_constantSpeed = false; timeRecordForTotal = false; //UnityEngine.Debug.Log ("Duration_for_run_constantSpeed" + Duration_for_run_constantSpeed); //UnityEngine.Debug.Log("Duration_for_total" + Duration_for_total); Duration_for_total = 0; Duration_for_walk = 0; Duration_for_run_constantSpeed = 0; // who did not move head? add to list if (headmovement_order.Count != 0) { for (int i = 0; i < headmovement_order.Count; i++) { person_who_head_NOT_moved.Add(headmovement_order.ElementAt(i)); } } IsExploring = false; FirstPersonController.NO_MOVE = true; walking_end(); } } }
void prepare_to_walk() { Destroy(canvasobject); Destroy(canvas); // get direction & subject init location which_map = reorganized_DataSet[trial_order.ElementAt(trial_ith)][0]; which_direction = reorganized_DataSet[trial_order.ElementAt(trial_ith)][1]; which_person = reorganized_DataSet[trial_order.ElementAt(trial_ith)][2]; Number_of_person_move_head = int.Parse(reorganized_DataSet[trial_order.ElementAt(trial_ith)][3]); // output output.Add(which_map + "\t"); output.Add(which_direction + "\t"); // order for head move & distance to center for head move headmovement_order = new List <string>(); headmovement_order.Add("head_cartoon_person_1"); headmovement_order.Add("head_cartoon_person_2"); headmovement_order.Add("head_cartoon_person_3"); headmovement_order = ShuffleList(headmovement_order); if (Number_of_person_move_head == 0) { distance_to_center_showing_motion_1 = 0; distance_to_center_showing_motion_2 = 0; distance_to_center_showing_motion_3 = 0; } if (Number_of_person_move_head == 1) { distance_to_center_showing_motion_1 = UnityEngine.Random.Range(8, 14f); distance_to_center_showing_motion_2 = 0; distance_to_center_showing_motion_3 = 0; } if (Number_of_person_move_head == 2) { distance_to_center_showing_motion_1 = UnityEngine.Random.Range(11.25f, 14f); distance_to_center_showing_motion_2 = UnityEngine.Random.Range(8, 11.25f); distance_to_center_showing_motion_3 = 0; } if (Number_of_person_move_head == 3) { distance_to_center_showing_motion_1 = UnityEngine.Random.Range(8, 10.3f); distance_to_center_showing_motion_2 = UnityEngine.Random.Range(10.3f, 12.1f); distance_to_center_showing_motion_3 = UnityEngine.Random.Range(12.1f, 14f); } // place map (person position) task_fmri_item_subject_person place_person_map = wooden_fence.GetComponent <task_fmri_item_subject_person>(); place_person_map.place_person_map(); // set subject start position task_fmri_enter_direction_person get_direcion_pool = wooden_fence.GetComponent <task_fmri_enter_direction_person>(); direction_list = get_direcion_pool.setup_enter_direction_pool(); subject_initial_position = direction_list.ElementAt(int.Parse(which_direction) - 1); // start animation task_fmri_item_subject_person start_idle = wooden_fence.GetComponent <task_fmri_item_subject_person>(); start_idle.start_idle(); // person facing to subject task_fmri_item_subject_person person_face_to_initial_position = wooden_fence.GetComponent <task_fmri_item_subject_person>(); person_face_to_initial_position.person_face_to_initial_position(); // subject move and forward FirstPersonController.m_CharacterController.transform.position = subject_initial_position; FirstPersonController.m_Camera.transform.localRotation = Quaternion.Euler(0, 0, 0); FirstPersonController.m_Camera.fieldOfView = 90; FirstPersonController.m_CharacterController.transform.forward = (subject_response_position - subject_initial_position).normalized; Invoke("runStart_init", 0); }