GPT4にCSV形式の観測データを与え、
「2023年6/9の、AIカメラが捉えたデータです。1列目は時間、2列目はAIカメラに写った顔の数です。3列目以降は無視して良いです。0から23時まで、1時間ごとに、写っていた顔の平均個数を算出してCSV形式で出力して。縦方向に時間が来るように、1列目に時間、2列めに平均個数がくるように、例えば
0,0
1,0
2,0
…
などのように出力してください。」
などとプロンプトすると、結果を出力してくれた。有効データは6/17から7/11までの22日間。全体で平均すると、13-14時、18-21時に顔検出数が大きい結果となった。有効データは8~21時で良いだろうか。さらに、プログラムから当日に提示していたシーンを割り出し、紅葉、海辺、冬山の3種類に分けて描画したところ、学生が自由に活動できる18-21時の間では、冬山>紅葉>海辺の順で顔検出数が多くなった。
各日の18-21時の顔検出数の平均値を求め、提示したシーンにより差があるかを参加者間計画の1要因分散分析で検討したところ、F(2,17)=1.49, n.s.となり、有意な差は認められなかった。
using UnityEngine;
using UnityEngine.SceneManagement;
using System;
public class SceneSwitcher : MonoBehaviour
{
public string[] sceneNames; // 表示するシーンの名前を格納する配列
private int currentSceneIndex; // 現在のシーンのインデックス
private int lastDay; // 最後に確認した「日」
private int lastSecond; // 最後にログを出力した秒
//ここから長野が書き換え231101
private void Update() {
if (Input.GetKeyDown(KeyCode.F12)) { SceneManager.LoadScene("S0"); }
if (Input.GetKeyDown(KeyCode.F1)) { SceneManager.LoadScene("S1"); }
if (Input.GetKeyDown(KeyCode.F2)) { SceneManager.LoadScene("S2"); }
if (Input.GetKeyDown(KeyCode.F3)) { SceneManager.LoadScene("S3"); }
if (Input.GetKeyDown(KeyCode.F4)) { SceneManager.LoadScene("S4"); }
if (Input.GetKeyDown(KeyCode.F5)) { SceneManager.LoadScene("S5"); }
if (Input.GetKeyDown(KeyCode.F6)) { SceneManager.LoadScene("S6"); }
if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); }
}
/*
private void Start()
{
DateTime currentTime = DateTime.Now;
lastDay = currentTime.Day;
lastSecond = currentTime.Second;
currentSceneIndex = lastDay % sceneNames.Length;
//SceneManager.LoadScene(sceneNames[currentSceneIndex]);
}
private void Update()
{
// 現在の時刻を取得
DateTime currentTime = DateTime.Now;
int currentHour = currentTime.Hour;
int currentMinute = currentTime.Minute;
int currentSecond = currentTime.Second;
int currentDay = currentTime.Day;
// 現在のシーン名を取得
string currentSceneName = SceneManager.GetActiveScene().name;
// 秒が変わったときだけ時刻をログに出力
if (currentSecond != lastSecond)
{
lastSecond = currentSecond;
string timeString = currentTime.ToString("HHmmss");
Debug.Log(timeString);
}
// 20:30から7:30までの間はS0を強制表示(ただし現在のシーンがS0でない場合のみ)
//if ((currentHour >= 20 && currentMinute >= 30) || (currentHour <= 7 && currentMinute <= 30))
if ((currentHour > 20 || (currentHour == 20 && currentMinute >= 30)) || (currentHour < 7 || (currentHour == 7 && currentMinute < 30)))
{
Debug.Log("change to S0");
if (currentSceneName != "S0")
{
SceneManager.LoadScene("S0");
}
}
else if (currentDay != lastDay) // それ以外の時間は日が変わったらシーンを切り替える
{
lastDay = currentDay;
currentSceneIndex = currentDay % sceneNames.Length;
if (sceneNames[currentSceneIndex] != currentSceneName)
{
SceneManager.LoadScene(sceneNames[currentSceneIndex]);
}
}
if (Input.GetKeyDown(KeyCode.F12)) { SceneManager.LoadScene("S0"); }
if (Input.GetKeyDown(KeyCode.F1)) { SceneManager.LoadScene("S1"); }
if (Input.GetKeyDown(KeyCode.F2)) { SceneManager.LoadScene("S2"); }
if (Input.GetKeyDown(KeyCode.F3)) { SceneManager.LoadScene("S3"); }
if (Input.GetKeyDown(KeyCode.F4)) { SceneManager.LoadScene("S4"); }
if (Input.GetKeyDown(KeyCode.F5)) { SceneManager.LoadScene("S5"); }
if (Input.GetKeyDown(KeyCode.F6)) { SceneManager.LoadScene("S6"); }
if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); }
}
*/
}