Update Castello, add Keystore

This commit is contained in:
Nadine Ganz 2025-08-04 16:37:18 +02:00
parent 095b6532b9
commit 664c3a0326
8 changed files with 2159 additions and 4349 deletions

Binary file not shown.

View File

@ -12,12 +12,7 @@
} }
Composite(Sequence) { Composite(Sequence) {
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
RunTree("26_Castello_Castelli_di_Bellinzona_Intro") RunTree("26_Castello_Castelli_di_Bellinzona_Intro")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
//RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init")
//RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen")
} }
} }
@ -42,11 +37,18 @@
Tree("26_Castello_Castelli_di_Bellinzona_Intro") { Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
// --- Castelli di Bellinzona - Intro --- // --- Castelli di Bellinzona - Intro ---
Composite(Sequence) { Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.Intro1CastellidiBe") Composite(Marathon) {
BTC.Run("Depthkit.VIDEOS.Intro1CastellidiBe") Composite(Sequence) {
BTC.Hide("Depthkit.VIDEOS.Intro1CastellidiBe") BTC.Wait(1)
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
}
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.2") BTC.Run("MediaPlayer.VIDEOS.IntroF1")
}
BTC.Run("MediaPlayer.VIDEOS.IntroFidle2")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-2a")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -78,12 +80,11 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
} }
} }
BTC.Show("Depthkit.VIDEOS.Intro10CastellidiB") BTC.Hide("MediaPlayer.VIDEOS.IntroFidle2")
BTC.Run("Depthkit.VIDEOS.Intro10CastellidiB") BTC.Run("MediaPlayer.VIDEOS.IntroF3")
BTC.Hide("Depthkit.VIDEOS.Intro10CastellidiB") BTC.Run("MediaPlayer.VIDEOS.IntroFidle4")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.11") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-4a")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.12")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -115,12 +116,48 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
} }
} }
BTC.Show("Depthkit.VIDEOS.Intro15CastellidiB") BTC.Hide("MediaPlayer.VIDEOS.IntroFidle4")
BTC.Run("Depthkit.VIDEOS.Intro15CastellidiB") BTC.Run("MediaPlayer.VIDEOS.IntroF5")
BTC.Hide("Depthkit.VIDEOS.Intro15CastellidiB") BTC.Run("MediaPlayer.VIDEOS.IntroFidle6")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.16") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-6")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.18") BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
BTC.ClearPossbileSpeechIntents()
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
}
}
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle6")
BTC.Run("MediaPlayer.VIDEOS.IntroF7")
BTC.Run("MediaPlayer.VIDEOS.IntroFidle8")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-8a")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-8b")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -135,17 +172,17 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Intro.16") BTC.CompareIntentID("Castelli_di_Bellinzona-Intro-U-8a")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
BTC.SetBool("InitOffeneFragen", false)
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
} }
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Intro.18") BTC.CompareIntentID("Castelli_di_Bellinzona-Intro-U-8b")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") BTC.SetBool("InitOffeneFragen")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
} }
} }
@ -172,7 +209,7 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") BTC.SetBool("InitOffeneFragen", false)
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
} }
Composite(Sequence) { Composite(Sequence) {
@ -183,8 +220,9 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") BTC.SetBool("InitOffeneFragen")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
} }
} }
@ -198,34 +236,77 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
BTC.AbortSpeechEventListener() BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
BTC.SetBool("InitOffeneFragen", false)
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
} }
} }
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init") { // --- Castelli di Bellinzona - Outro ---
// Initialization Composite(Marathon) {
Composite(Marathon) { BTC.Hide("GO.HINTS.SpeechErrorHint")
BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.097, 0, 20.562) BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
BTC.SetPosition("GO.HANDMENU", 53.319, 0, 20.829) BTC.Hide("MediaPlayer.VIDEOS.CastelliBotoffeneF_FIdle02")
BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 90.0) }
BTC.RotateToAngle("GO.HANDMENU", 90.0) BTC.Run("MediaPlayer.VIDEOS.OutroF1")
BTC.Run("MediaPlayer.VIDEOS.OutroFidle2")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Outro-U-2a")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
BTC.ClearPossbileSpeechIntents()
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
}
}
BTC.Hide("MediaPlayer.VIDEOS.OutroFidle2")
Composite(Marathon) {
BTC.Run("MediaPlayer.VIDEOS.OutroF3")
Composite(Sequence) {
BTC.Wait(2.5)
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
}
}
BTC.SetStoryAVisited()
BTC.Run("LoadScene.NEXT.10SBB")
} }
} }
Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") { Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
// --- Castelli di Bellinzona - Geschichte Castelli --- // --- Castelli di Bellinzona - Geschichte Castelli ---
Composite(Sequence) { Composite(Sequence) {
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init") BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black") BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F1")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_01") BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle02")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_01")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_01")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli.2") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-2a")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -257,17 +338,13 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
} }
} }
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle02")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F3")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_05") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_05") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_05") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_06")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_06")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_06")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli.7")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli.9")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -282,25 +359,25 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
// User weiss es nicht // User weiss es nicht (Nein)
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli.7") BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen")
} }
Composite(Sequence) { Composite(Sequence) {
// User weiss Antwort // User weiss Antwort
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli.9") BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_10") BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_10") BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F5")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_10") BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
}
// --- Castelli di Bellinzona - Geschichte Castelli Bot1 --- Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01") // Sonstiges, freie Antwort
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01") BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01") BTC.ClearPossbileSpeechIntents()
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F6")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
} }
} }
} }
@ -308,7 +385,9 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
// -- Selector 2: Intent nicht erkannt // -- Selector 2: Intent nicht erkannt
Composite(Sequence) { Composite(Sequence) {
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F6")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
} }
} }
} }
@ -320,37 +399,48 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
BTC.AbortSpeechEventListener() BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen")
} }
} }
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") { BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
// --- Castelli di Bellinzona - Chatbot Burgen --- BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
Composite(Sequence) { BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen1Cast")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen1Cast")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen1Cast")
// --- Castelli di Bellinzona - Chatbot Burgen ---
Composite(Marathon) {
BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.569, 0, 19.735)
BTC.SetPosition("GO.HANDMENU", 53.419, 0, 20.002)
BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 0)
BTC.RotateToAngle("GO.HANDMENU", 0)
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
BTC.Show("GO.Canvaspanoramatafelslideshow.SlideshowChatbot")
}
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF1")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
// TODO: U druckt Knopf
BTC.Wait(3)
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_Start") BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_Start")
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen2Cast") BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen2Cast") BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF3")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen2Cast") BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart") BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd") BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd")
BTC.SynthesizeText("Per proteggere la città dagli attacchi nemici. Vuoi saperne di più?") BTC.SynthesizeText("Per difendere la città dai nemici. Vuoi saperne di più?")
BTC.SpeechOutputEnded() BTC.SpeechOutputEnded()
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen4Cast") BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen4Cast") BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF6")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen4Cast") BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Chatbot_Burgen.5") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Chatbot_Burgen.7") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -365,15 +455,27 @@ Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") {
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Chatbot_Burgen.5") // Ja
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF8")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
BTC.SynthesizeText("La valle era chiusa da una grande muro. In questo modo nessuno poteva attraversare i passi alpini del Gottardo, del San Bernardino, della Novena e del Lucomagno. Bellinzona si trovava su un'importante via commerciale tra il nord e il sud dell'Europa.")
BTC.SpeechOutputEnded()
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Chatbot_Burgen.7") // Nein
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF11")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen")
} }
} }
} }
@ -400,7 +502,15 @@ Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF8")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
BTC.SynthesizeText("La valle era chiusa da una grande muro. In questo modo nessuno poteva attraversare i passi alpini del Gottardo, del San Bernardino, della Novena e del Lucomagno. Bellinzona si trovava su un'importante via commerciale tra il nord e il sud dell'Europa.")
BTC.SpeechOutputEnded()
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
Composite(Sequence) { Composite(Sequence) {
// Nein // Nein
@ -410,8 +520,12 @@ Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF11")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen")
} }
} }
} }
@ -426,35 +540,17 @@ Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") {
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
} }
} }
} }
Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") { Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen") {
// --- Castelli di Bellinzona - Geschichte Castelli Bot --- // --- Castelli di Bellinzona - Chatbot Burgen - Entscheidung Zeile 301 ---
Composite(Sequence) { Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot1_02") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot1_02") BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_Bot1_02")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd")
BTC.SynthesizeText("La valle veniva chiusa costruendo la cinta muraria della città e la Murata. In questo modo nessuno poteva attraversare i passi alpini del Gottardo, del San Bernardino, della Novena e del Lucomagno. Bellinzona si trovava su un'importante via commerciale tra il nord e il sud dell'Europa.")
BTC.SpeechOutputEnded()
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot_02")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot_02")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_Bot_02")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot_03")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot_03")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_Bot_03")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.4")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.6")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -469,15 +565,16 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") {
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.4") // Ja
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen") RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.6") // Nein
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") // Go to Outro
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
} }
} }
} }
@ -504,7 +601,7 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen") RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
} }
Composite(Sequence) { Composite(Sequence) {
// Nein // Nein
@ -514,8 +611,7 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") {
BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton") BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions") BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") // Go To Outro
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
} }
} }
} }
@ -530,135 +626,47 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") {
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
} }
} }
} }
} }
Tree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") { Tree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen") {
// --- Castelli di Bellinzona - KI Audio Chat Castelli --- // --- Castelli di Bellinzona - Castelli Bot offene Fragen ---
Composite(Sequence) { Composite(Sequence) {
//RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init") Composite(Selector) {
BTC.GetKeyDown("Return")
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen") {
// --- Castelli di Bellinzona - Geschichte Castelli weitererzaehlen ---
Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_01")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_01")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_01")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_02")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_02")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_02")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_03")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_03")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_03")
Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
// User stellt Chatbot eine Frage BTC.CompareBool("InitOffeneFragen")
// TODO: Button Chatbot starten drücken Composite(Marathon) {
// ... Tree? BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
BTC.GetKeyDown("Return") BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.569, 0, 19.735)
RunTree("26_Castello_Hide") BTC.SetPosition("GO.HANDMENU", 53.419, 0, 20.002)
} BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 0)
BTC.RotateToAngle("GO.HANDMENU", 0)
Composite(Sequence) { BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
// User fragt nichts BTC.Show("GO.Canvaspanoramatafelslideshow.SlideshowChatbot")
BTC.Wait(10)
// TODO: Check, ob Button gedrueckt worden ist - wenn ja, fail
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_07")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_07")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_07")
// TODO: Chatbot antwortet
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_08")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_08")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_08")
Composite(Race) {
Composite(Sequence) {
// User stellt Chatbot eine Frage
// TODO: Button Chatbot starten drücken
// ... Tree?
BTC.GetKeyDown("Return")
}
Composite(Sequence) {
// User fragt 2tes Mal nichts
BTC.Wait(10)
// TODO: Check, ob Button gedrueckt worden ist - wenn ja, fail
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_12")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_12")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_weitererzaehlen_12")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli_weitererzaehlen.13")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Hide")
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Hide")
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(10)
BTC.CompareUserSpeechInputStarted(false)
// TODO: Check, ob Button gedrueckt worden ist - wenn ja, fail
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Hide")
}
// -- Race 3: User startet Chatbot
Composite(Sequence) {
// TODO: Button Chatbot starten drücken
BTC.GetKeyDown("Return")
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// ... Tree?
}
}
}
} }
} }
}
}
}
Tree("26_Castello_Hide") { Composite(Marathon) {
Composite(Sequence) { BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
// Go to scene 2.7 Slideshow BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.SetStoryAVisited() BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") }
BTC.Run("LoadScene.NEXT.10SBB") }
// TODO: KI-Chatbot implementieren
// Temporaerer Workaround: Info-Message
BTC.Run("MediaPlayer.VIDEOS.CastelliBotoffeneF_FIdle02")
Composite(Marathon) {
BTC.Set("TextMeshPro.HINTS.SpeechErrorTitle", "text", "Coming soon")
BTC.Set("TextMeshPro.HINTS.SpeechErrorText", "text", "Offenes Gespräch mit Chatbot\n ist noch in Arbeit. Stay tuned!")
BTC.Show("GO.HINTS.SpeechErrorHint")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_End")
}
BTC.Wait(7)
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,49 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Billboard : MonoBehaviour
{
[Header("Position")]
public float distanceFromCamera = 2.0f;
public Vector3 offset = Vector3.zero;
[Header("Smoothing")]
[Range(0.01f, 20f)]
public float moveSmoothSpeed = 5f;
[Range(0.01f, 20f)]
public float rotateSmoothSpeed = 5f;
private Transform mainCamera;
void Start()
{
if (Camera.main != null)
{
mainCamera = Camera.main.transform;
}
else
{
Debug.LogWarning("Main Camera not found.");
}
}
void LateUpdate()
{
if (mainCamera == null) return;
// Calculate target position in field of view
Vector3 targetPosition = mainCamera.position + mainCamera.forward * distanceFromCamera + mainCamera.TransformVector(offset);
transform.position = Vector3.Lerp(transform.position, targetPosition, moveSmoothSpeed * Time.deltaTime);
Vector3 directionToCamera = transform.position - mainCamera.position;
directionToCamera.y = 0f; // only horizontal orientation
if (directionToCamera.sqrMagnitude > 0.001f)
{
Quaternion targetRotation = Quaternion.LookRotation(directionToCamera);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotateSmoothSpeed * Time.deltaTime);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 83a0fb9fd335d4dd7a8acec20f9a233d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -219,10 +219,6 @@
"Sono tristo di non aver conosciuto il mio nonno. " "Sono tristo di non aver conosciuto il mio nonno. "
] ]
}, },
{
"intentID": "Castelli_di_Bellinzona-Intro-U-4b",
"intentSentences": []
},
{ {
"intentID": "Castelli_di_Bellinzona-Intro-U-6", "intentID": "Castelli_di_Bellinzona-Intro-U-6",
"intentSentences": [ "intentSentences": [
@ -267,17 +263,17 @@
"intentSentences": [ "intentSentences": [
"No.", "No.",
"Non so.", "Non so.",
"Non mi interessa." "Non mi interessa.",
"Non sono sicuro.",
"Non sono sicura."
] ]
}, },
{ {
"intentID": "Castelli_di_Bellinzona-Geschichte_Castelli-U-4b", "intentID": "Castelli_di_Bellinzona-Geschichte_Castelli-U-4b",
"intentSentences": [ "intentSentences": [
"Ci vuole una fortezza per difendere la citt\u00e0 dai nemici. ", "Ci vuole una fortezza per difendere la citt\u00e0 dai nemici.",
"Potrebbe essere per trovare rifugio.", "Potrebbe essere per trovare rifugio.",
"Per la protezione.", "Per la protezione."
"Non sono sicuro.",
"Non sono sicura."
] ]
}, },
{ {
@ -292,7 +288,7 @@
{ {
"intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-7", "intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-7",
"intentSentences": [ "intentSentences": [
"Si, certo.", "S\u00ec, certo.",
"Certamente." "Certamente."
] ]
}, },
@ -308,7 +304,9 @@
{ {
"intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-12a", "intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-12a",
"intentSentences": [ "intentSentences": [
"Si." "S\u00ec.",
"S\u00ec, certo.",
"Certamente."
] ]
}, },
{ {

View File

@ -5,7 +5,7 @@ EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: m_Scenes:
- enabled: 0 - enabled: 1
path: Assets/Scenes/0.0-Menu.unity path: Assets/Scenes/0.0-Menu.unity
guid: c83d90128ed611646968487737573267 guid: c83d90128ed611646968487737573267
- enabled: 1 - enabled: 1
@ -17,25 +17,25 @@ EditorBuildSettings:
- enabled: 1 - enabled: 1
path: Assets/Scenes/2.0-SBB.unity path: Assets/Scenes/2.0-SBB.unity
guid: 0492708372646415eb23036f23680178 guid: 0492708372646415eb23036f23680178
- enabled: 0 - enabled: 1
path: Assets/Scenes/2.2-Geschaeft.unity path: Assets/Scenes/2.2-Geschaeft.unity
guid: 498707af75f244daa9eacd8a71c6ee5f guid: 498707af75f244daa9eacd8a71c6ee5f
- enabled: 0 - enabled: 1
path: Assets/Scenes/2.6-Castello.unity path: Assets/Scenes/2.6-Castello.unity
guid: 8554de5c9e3d141a1bee7985b31e8313 guid: 8554de5c9e3d141a1bee7985b31e8313
- enabled: 1 - enabled: 1
path: Assets/Scenes/3.0-SBB.unity path: Assets/Scenes/3.0-SBB.unity
guid: a21f6e13e09234179a685c8f89b0e031 guid: a21f6e13e09234179a685c8f89b0e031
- enabled: 0 - enabled: 1
path: Assets/Scenes/3.2-Grotto1.unity path: Assets/Scenes/3.2-Grotto1.unity
guid: b27cb7d9a21e8ee4e840d82d91ef4704 guid: b27cb7d9a21e8ee4e840d82d91ef4704
- enabled: 0 - enabled: 1
path: Assets/Scenes/3.2-Grotto2.unity path: Assets/Scenes/3.2-Grotto2.unity
guid: 29eb141b9ba0d10498d9c1caf0961359 guid: 29eb141b9ba0d10498d9c1caf0961359
- enabled: 0 - enabled: 1
path: Assets/Scenes/3.2-Grotto3.unity path: Assets/Scenes/3.2-Grotto3.unity
guid: e3d34354680716649befc361ed0ac6df guid: e3d34354680716649befc361ed0ac6df
- enabled: 0 - enabled: 1
path: Assets/Scenes/4.0-Puschlav.unity path: Assets/Scenes/4.0-Puschlav.unity
guid: d30b9a945a08543918f700fd6e5cd57e guid: d30b9a945a08543918f700fd6e5cd57e
m_configObjects: m_configObjects:

View File

@ -146,6 +146,9 @@ PlayerSettings:
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
- {fileID: -8196854396901781169, guid: 1a4c68ca72a83449f938d669337cb305, type: 2}
- {fileID: 7708199778347151547, guid: 0f4832b23b368b643bc8a91696fbb473, type: 2}
- {fileID: 11400000, guid: f794167165c214ad18ff9cc20bddcafb, type: 2}
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1 m_HolographicPauseOnTrackingLoss: 1
@ -268,7 +271,7 @@ PlayerSettings:
AndroidTargetDevices: 0 AndroidTargetDevices: 0
AndroidSplashScreenScale: 0 AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0} androidSplashScreen: {fileID: 0}
AndroidKeystoreName: Y:/FHGR/Viagg-io/01-doku/viaggio_pico.keystore AndroidKeystoreName: '{inproject}: ../Keystore/viaggio_pico.keystore'
AndroidKeyaliasName: viaggio pico AndroidKeyaliasName: viaggio pico
AndroidEnableArmv9SecurityFeatures: 0 AndroidEnableArmv9SecurityFeatures: 0
AndroidBuildApkPerCpuArchitecture: 0 AndroidBuildApkPerCpuArchitecture: 0