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")
}
}
}
}
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Init") {
// Initialization
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)
// --- 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()
}
}
}
// -- 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") {
// --- 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,17 +263,17 @@
"intentSentences": [
"No.",
"Non so.",
"Non mi interessa."
"Non mi interessa.",
"Non sono sicuro.",
"Non sono sicura."
]
},
{
"intentID": "Castelli_di_Bellinzona-Geschichte_Castelli-U-4b",
"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.",
"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