Compare commits

..

2 Commits

12 changed files with 2829 additions and 4930 deletions

Binary file not shown.

View File

@ -1,5 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1109 &-8890819234432113218
AnimatorTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1279485650305482810}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 1
--- !u!1107 &-6826851990614133435
AnimatorStateMachine:
serializedVersion: 6
@ -12,16 +26,20 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 7443357409726444941}
m_Position: {x: 390, y: -60, z: 0}
- serializedVersion: 1
m_State: {fileID: 1279485650305482810}
m_Position: {x: 256.1576, y: 206.7081, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_EntryTransitions:
- {fileID: -8890819234432113218}
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 7443357409726444941}
m_DefaultState: {fileID: 1279485650305482810}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@ -44,6 +62,32 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &1279485650305482810
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New State
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &7443357409726444941
AnimatorState:
serializedVersion: 6

View File

@ -39,28 +39,6 @@ MonoBehaviour:
m_bufferingTime: 0.1
m_ClipProperties:
volume: 1
--- !u!114 &-6595666901140017512
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3}
m_Name: AnimationPlayableAsset
m_EditorClassIdentifier:
m_Clip: {fileID: 7400000, guid: 131b9f16ec192cc468b99f7a3167dccb, type: 2}
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_UseTrackMatchFields: 1
m_MatchTargetFields: 63
m_RemoveStartOffset: 1
m_ApplyFootIK: 1
m_Loop: 2
m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!114 &-4537728452854097180
MonoBehaviour:
m_ObjectHideFlags: 1
@ -78,116 +56,6 @@ MonoBehaviour:
m_bufferingTime: 0.1
m_ClipProperties:
volume: 1
--- !u!114 &-4023122238063795050
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3}
m_Name: Animation Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: -6595666901140017512}
m_Duration: 1
m_TimeScale: 1
m_ParentTrack: {fileID: -4023122238063795050}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 0
m_DisplayName: Animation Chatbot Button Pressed
m_Markers:
m_Objects: []
m_InfiniteClipPreExtrapolation: 0
m_InfiniteClipPostExtrapolation: 0
m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0}
m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0}
m_InfiniteClipTimeOffset: 0
m_InfiniteClipRemoveOffset: 0
m_InfiniteClipApplyFootIK: 1
mInfiniteClipLoop: 0
m_MatchTargetFields: 63
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_AvatarMask: {fileID: 0}
m_ApplyAvatarMask: 1
m_TrackOffset: 0
m_InfiniteClip: {fileID: 0}
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0
--- !u!114 &-1844958133074723494
MonoBehaviour:
m_ObjectHideFlags: 1
@ -210,7 +78,7 @@ MonoBehaviour:
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: -9186318179644760575}
m_Duration: 1
@ -276,7 +144,7 @@ MonoBehaviour:
m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 1
m_PreExtrapolationTime: 0
m_DisplayName: Animation ChatbotLaser
m_Markers:
m_Objects: []
@ -298,23 +166,6 @@ MonoBehaviour:
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0
--- !u!114 &-919076065122573310
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f10dd60657c6004587f237a7e90f8e4, type: 3}
m_Name: AudioPlayableAsset
m_EditorClassIdentifier:
m_Clip: {fileID: 8300000, guid: eeedbe7f2e6ceab4cb48acf9463afc3e, type: 3}
m_Loop: 0
m_bufferingTime: 0.1
m_ClipProperties:
volume: 1
--- !u!114 &-388529976960671980
MonoBehaviour:
m_ObjectHideFlags: 1
@ -337,7 +188,7 @@ MonoBehaviour:
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 2
m_Start: 1.0000000000000013
m_ClipIn: 0
m_Asset: {fileID: 4959354551746578753}
m_Duration: 1
@ -385,10 +236,10 @@ MonoBehaviour:
m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 2
m_PreExtrapolationTime: 1.0000000000000013
m_DisplayName: Animation Chatbot Popup
- m_Version: 1
m_Start: 3
m_Start: 2.000000000000002
m_ClipIn: 0
m_Asset: {fileID: 3944277808979299471}
m_Duration: 2
@ -489,10 +340,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Version: 0
m_Tracks:
- {fileID: -4023122238063795050}
- {fileID: -1844958133074723494}
- {fileID: -388529976960671980}
- {fileID: 5507569759037005138}
- {fileID: 3818191983791096580}
- {fileID: 6311139388440893090}
m_FixedDuration: 5.433333333333334
@ -558,7 +407,7 @@ MonoBehaviour:
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: -4537728452854097180}
m_Duration: 1.2291666666666667
@ -567,7 +416,7 @@ MonoBehaviour:
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: 0.029166666666666785
m_BlendOutDuration: 0.029166666666665675
m_MixInCurve:
serializedVersion: 2
m_Curve:
@ -594,7 +443,25 @@ MonoBehaviour:
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve: []
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -609,7 +476,7 @@ MonoBehaviour:
m_PreExtrapolationTime: 0
m_DisplayName: 588251__romeo_kaleikau__power-up-regeneration-sfx
- m_Version: 1
m_Start: 2.2
m_Start: 1.200000000000001
m_ClipIn: 0
m_Asset: {fileID: -80259869817880582}
m_Duration: 2.216666666666667
@ -617,17 +484,53 @@ MonoBehaviour:
m_ParentTrack: {fileID: 3818191983791096580}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0.029166666666666785
m_BlendInDuration: 0.029166666666665675
m_BlendOutDuration: 1.2166666666666668
m_MixInCurve:
serializedVersion: 2
m_Curve: []
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve: []
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -642,7 +545,7 @@ MonoBehaviour:
m_PreExtrapolationTime: 0
m_DisplayName: 609328__ninjasharkstudios__engine-power-up_1
- m_Version: 1
m_Start: 3.2
m_Start: 2.200000000000001
m_ClipIn: 0
m_Asset: {fileID: -8950308714646898373}
m_Duration: 23.04
@ -654,7 +557,25 @@ MonoBehaviour:
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve: []
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -742,102 +663,6 @@ MonoBehaviour:
m_Loop: 0
m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!114 &5507569759037005138
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8b22792c3b570444eb18cb78c2af3a74, type: 3}
m_Name: Audio Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0.23333333333333334
m_ClipIn: 0
m_Asset: {fileID: -919076065122573310}
m_Duration: 0.41128747795414494
m_TimeScale: 0.8999999999999999
m_ParentTrack: {fileID: 5507569759037005138}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: 265189__simonjsounds__clickswitch-05
m_Markers:
m_Objects: []
m_TrackProperties:
volume: 1
stereoPan: 0
spatialBlend: 0
--- !u!114 &6311139388440893090
MonoBehaviour:
m_ObjectHideFlags: 1

View File

@ -12,12 +12,7 @@
}
Composite(Sequence) {
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
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") {
// --- Castelli di Bellinzona - Intro ---
Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.Intro1CastellidiBe")
BTC.Run("Depthkit.VIDEOS.Intro1CastellidiBe")
BTC.Hide("Depthkit.VIDEOS.Intro1CastellidiBe")
Composite(Marathon) {
Composite(Sequence) {
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()
Composite(Race) {
@ -78,12 +80,11 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
}
}
BTC.Show("Depthkit.VIDEOS.Intro10CastellidiB")
BTC.Run("Depthkit.VIDEOS.Intro10CastellidiB")
BTC.Hide("Depthkit.VIDEOS.Intro10CastellidiB")
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle2")
BTC.Run("MediaPlayer.VIDEOS.IntroF3")
BTC.Run("MediaPlayer.VIDEOS.IntroFidle4")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.11")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.12")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-4a")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
@ -115,12 +116,48 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
}
}
BTC.Show("Depthkit.VIDEOS.Intro15CastellidiB")
BTC.Run("Depthkit.VIDEOS.Intro15CastellidiB")
BTC.Hide("Depthkit.VIDEOS.Intro15CastellidiB")
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle4")
BTC.Run("MediaPlayer.VIDEOS.IntroF5")
BTC.Run("MediaPlayer.VIDEOS.IntroFidle6")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.16")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Intro.18")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-6")
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()
Composite(Race) {
@ -135,17 +172,17 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
Composite(Race) {
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Intro.16")
BTC.CompareIntentID("Castelli_di_Bellinzona-Intro-U-8a")
BTC.ClearPossbileSpeechIntents()
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.SetBool("InitOffeneFragen", false)
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
}
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Intro.18")
BTC.CompareIntentID("Castelli_di_Bellinzona-Intro-U-8b")
BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
BTC.SetBool("InitOffeneFragen")
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.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.SetBool("InitOffeneFragen", false)
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
}
Composite(Sequence) {
@ -183,8 +220,9 @@ Tree("26_Castello_Castelli_di_Bellinzona_Intro") {
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
BTC.SetBool("InitOffeneFragen")
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.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
BTC.SetBool("InitOffeneFragen", false)
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
}
}
// --- Castelli di Bellinzona - Outro ---
Composite(Marathon) {
BTC.Hide("GO.HINTS.SpeechErrorHint")
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
BTC.Hide("MediaPlayer.VIDEOS.CastelliBotoffeneF_FIdle02")
}
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()
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init") {
// Initialization
// -- 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.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.097, 0, 20.562)
BTC.SetPosition("GO.HANDMENU", 53.319, 0, 20.829)
BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 90.0)
BTC.RotateToAngle("GO.HANDMENU", 90.0)
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") {
// --- Castelli di Bellinzona - Geschichte Castelli ---
Composite(Sequence) {
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init")
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_01")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_01")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_01")
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F1")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle02")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Geschichte_Castelli.2")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-2a")
BTC.StartSpeechIntentRecognition()
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.Run("Depthkit.VIDEOS.GeschichteCastelli_05")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_05")
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.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
@ -282,25 +359,25 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
Composite(Race) {
Composite(Sequence) {
// User weiss es nicht
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli.7")
// User weiss es nicht (Nein)
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen")
}
Composite(Sequence) {
// User weiss Antwort
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli.9")
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
BTC.ClearPossbileSpeechIntents()
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_10")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_10")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_10")
// --- Castelli di Bellinzona - Geschichte Castelli Bot1 ---
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01")
BTC.Hide("Depthkit.VIDEOS.GeschichteCastelli_Bot1_01")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F5")
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
}
Composite(Sequence) {
// Sonstiges, freie Antwort
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
BTC.ClearPossbileSpeechIntents()
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
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
Composite(Sequence) {
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,345 +399,273 @@ Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen") {
// --- Castelli di Bellinzona - Chatbot Burgen ---
Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen1Cast")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen1Cast")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen1Cast")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_Start")
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen2Cast")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen2Cast")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen2Cast")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd")
BTC.SynthesizeText("Per proteggere la città dagli attacchi nemici. Vuoi saperne di più?")
BTC.SpeechOutputEnded()
BTC.Show("Depthkit.VIDEOS.ChatbotBurgen4Cast")
BTC.Run("Depthkit.VIDEOS.ChatbotBurgen4Cast")
BTC.Hide("Depthkit.VIDEOS.ChatbotBurgen4Cast")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Chatbot_Burgen.5")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona.Chatbot_Burgen.7")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
Composite(Race) {
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Chatbot_Burgen.5")
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
}
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Chatbot_Burgen.7")
BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
}
}
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
// Fallback Button
Composite(Marathon) {
BTC.Show("GO.GO.SpeechButton")
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
BTC.Show("GO.GO.Option1Button")
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
BTC.Show("GO.GO.Option2Button")
}
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.Run("NamedEventTrigger.GO.Option1Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
}
Composite(Sequence) {
// Nein
BTC.Run("NamedEventTrigger.GO.Option2Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
}
}
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_Bot") {
// --- Castelli di Bellinzona - Geschichte Castelli Bot ---
Composite(Sequence) {
BTC.Show("Depthkit.VIDEOS.GeschichteCastelli_Bot1_02")
BTC.Run("Depthkit.VIDEOS.GeschichteCastelli_Bot1_02")
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()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
Composite(Race) {
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.4")
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
}
Composite(Sequence) {
BTC.CompareIntentID("Castelli_di_Bellinzona.Geschichte_Castelli_Bot.6")
BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
}
}
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
// Fallback Button
Composite(Marathon) {
BTC.Show("GO.GO.SpeechButton")
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
BTC.Show("GO.GO.Option1Button")
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
BTC.Show("GO.GO.Option2Button")
}
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.Run("NamedEventTrigger.GO.Option1Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
}
Composite(Sequence) {
// Nein
BTC.Run("NamedEventTrigger.GO.Option2Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
}
}
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
//RunTree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli")
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli_weitererzaehlen")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_KI_Audio_Chat_Castelli") {
// --- Castelli di Bellinzona - KI Audio Chat Castelli ---
Composite(Sequence) {
//RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init")
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) {
// User stellt Chatbot eine Frage
// TODO: Button Chatbot starten drücken
// ... Tree?
BTC.GetKeyDown("Return")
RunTree("26_Castello_Hide")
}
Composite(Sequence) {
// User fragt nichts
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(Sequence) {
// Go to scene 2.7 Slideshow
BTC.SetStoryAVisited()
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.10SBB")
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
// --- 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")
// U druckt Knopf
BTC.Run("NamedPokeEvent.INTERACTABLES.ChatbotButton")
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF3")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart")
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd")
BTC.SynthesizeText("Per difendere la città dai nemici. Vuoi saperne di più?")
BTC.SpeechOutputEnded()
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF6")
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
BTC.ClearPossbileSpeechIntents()
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) {
// Nein
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
BTC.ClearPossbileSpeechIntents()
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")
}
}
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
// Fallback Button
Composite(Marathon) {
BTC.Show("GO.GO.SpeechButton")
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
BTC.Show("GO.GO.Option1Button")
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
BTC.Show("GO.GO.Option2Button")
}
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.Run("NamedEventTrigger.GO.Option1Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
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) {
// Nein
BTC.Run("NamedEventTrigger.GO.Option2Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
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")
}
}
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen") {
// --- Castelli di Bellinzona - Chatbot Burgen - Entscheidung Zeile 301 ---
Composite(Sequence) {
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
}
Composite(Sequence) {
// Nein
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
BTC.ClearPossbileSpeechIntents()
// Go to Outro
}
}
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
// Fallback Button
Composite(Marathon) {
BTC.Show("GO.GO.SpeechButton")
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
BTC.Show("GO.GO.Option1Button")
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
BTC.Show("GO.GO.Option2Button")
}
Composite(Race) {
Composite(Sequence) {
// Ja
BTC.Run("NamedEventTrigger.GO.Option1Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
}
Composite(Sequence) {
// Nein
BTC.Run("NamedEventTrigger.GO.Option2Button")
BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
BTC.Hide("GO.GO.Option1Button")
BTC.Hide("GO.GO.Option2Button")
BTC.Hide("GO.GO.SpeechButton")
BTC.Hide("GO.GO.SpeechOptions")
// Go To Outro
}
}
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen") {
// --- Castelli di Bellinzona - Castelli Bot offene Fragen ---
Composite(Sequence) {
Composite(Selector) {
Composite(Sequence) {
BTC.CompareBool("InitOffeneFragen")
Composite(Marathon) {
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
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")
}
}
Composite(Marathon) {
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
}
}
// 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)
}
}

View File

@ -0,0 +1,147 @@
//============= Copyright (c) Ludic GmbH, All rights reserved. ==============
//
// Purpose: Part of the My Behaviour Tree Controller Code
//
//=============================================================================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using MyBT;
using UnityEngine.XR.Interaction.Toolkit;
#if UNITY_EDITOR
using UnityEditor;
[CustomEditor(typeof(NamedPokeEvent))]
public class NamedPokeEventInspector : ComponentHandlerInspector
{
}
#endif
public class NamedPokeEvent : ComponentHandler
{
public override string TypeLabel()
{
return "NamedPokeEvent";
}
public override string ContentLabel()
{
UpdateComponent();
return objName;
}
public override void UpdateComponent()
{
base.UpdateComponent();
if (GetComponent<XRSimpleInteractable>())
{
GetComponent<XRSimpleInteractable>().selectEntered.AddListener(SelectEnterEventHandler);
GetComponent<XRSimpleInteractable>().selectExited.AddListener(SelectExitEventHandler);
}
else
{
Debug.LogWarning($"NamedPokeEvent '{gameObject.name}' could not attach poking event (missing XR Simple Interactable?)");
}
}
public string objName = "PokeObjXY";
private bool selectEnterTriggered = false;
private bool selectExitTriggered = false;
private bool _abortEventListener = false;
private void SelectEnterEventHandler(SelectEnterEventArgs args)
{
selectEnterTriggered = true;
}
private void SelectExitEventHandler(SelectExitEventArgs args)
{
selectExitTriggered = true;
}
public override string titleText
{
get
{
return "Run: Will Succeed on Select Enter and Exit Event";
}
}
public override string[][] helpText
{
get
{
return new string[][] {
new string[] {"Run", "Return Success on Select Enter and Exit Event", $"BTC.Run(\"{roomId}\", \"{gameObject.name}\")"},
};
}
}
public override void Run(MyBT.NodeState nodeState)
{
if (nodeState == NodeState.FirstRun)
{
// reset event trigger at start
selectEnterTriggered = false;
}
if (nodeState == NodeState.Aborting)
{
selectEnterTriggered = false;
}
if (selectEnterTriggered)
{
Debug.Log($"NamedPokeEvent: Select entered event from {gameObject.name} fired.");
Task.SetSucceeded();
return;
}
if (_abortEventListener)
{
Task.SetFailed();
Debug.Log($"NamedPokeEvent on {gameObject.name} failed.");
_abortEventListener = false;
return;
}
}
public override void ListenToEvent(MyBT.NodeState nodeState)
{
if (nodeState == NodeState.FirstRun)
{
// reset event trigger at start
selectExitTriggered = false;
Debug.Log("Enter ListenToEvent");
}
if (nodeState == NodeState.Aborting)
{
selectExitTriggered = false;
}
if (nodeState == NodeState.Running)
{
if (selectExitTriggered)
{
Debug.Log($"NamedPokeEvent: Select exited event from {gameObject.name} fired.");
Task.SetSucceeded();
return;
}
}
}
public override void AbortEventListener(MyBT.NodeState nodeState)
{
if (nodeState == NodeState.FirstRun)
{
_abortEventListener = true;
Task.SetSucceeded();
return;
}
}
}

View File

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

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. "
]
},
{
"intentID": "Castelli_di_Bellinzona-Intro-U-4b",
"intentSentences": []
},
{
"intentID": "Castelli_di_Bellinzona-Intro-U-6",
"intentSentences": [
@ -267,7 +263,9 @@
"intentSentences": [
"No.",
"Non so.",
"Non mi interessa."
"Non mi interessa.",
"Non sono sicuro.",
"Non sono sicura."
]
},
{
@ -275,9 +273,7 @@
"intentSentences": [
"Ci vuole una fortezza per difendere la citt\u00e0 dai nemici.",
"Potrebbe essere per trovare rifugio.",
"Per la protezione.",
"Non sono sicuro.",
"Non sono sicura."
"Per la protezione."
]
},
{
@ -292,7 +288,7 @@
{
"intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-7",
"intentSentences": [
"Si, certo.",
"S\u00ec, certo.",
"Certamente."
]
},
@ -308,7 +304,9 @@
{
"intentID": "Castelli_di_Bellinzona-Chatbot_Burgen-U-12a",
"intentSentences": [
"Si."
"S\u00ec.",
"S\u00ec, certo.",
"Certamente."
]
},
{

View File

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

View File

@ -146,6 +146,9 @@ PlayerSettings:
- {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
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
@ -268,7 +271,7 @@ PlayerSettings:
AndroidTargetDevices: 0
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName: Y:/FHGR/Viagg-io/01-doku/viaggio_pico.keystore
AndroidKeystoreName: '{inproject}: ../Keystore/viaggio_pico.keystore'
AndroidKeyaliasName: viaggio pico
AndroidEnableArmv9SecurityFeatures: 0
AndroidBuildApkPerCpuArchitecture: 0