Cinematics does not trigger as intended, they trigger based on the location of my character

Hi guys i have a really strange behaviour, i tested everything (recreating from scratch for example, copy pasting settings)

My character is in a surveillance room with a button that shows a spectate UI, this ui shows a 8 camera pov to select (camera pov = cinematic device with a level sequence), each pov shows a location (corridor, area etc)

Only 1 camera POV does work, it does trigger normally

The rest doesnt work when clicking on the UI

BUT if i go to the actual location with my character while still being in the spectate UI, now when i click it does trigger the cinematic

It only triggers when my character is actually in the area that i want to spectate

Whats the problem here ?

I recreated everything from scratch, they all have the same settings in details panel, i created all the level sequence from zero but it still doesnt work, i still have to be in the actual location to trigger the Camera pov of this locaiton

Ofc i have print and they all tell me “cinematic triggered”

This is my settings for the working camera pov, and this works regardless of my position in the world annd all other cinematic device has the exact same settings

This is the timeline for the working one

This the settings and timeline for the one that doesnt work when i’m not actually in the area, they are 6 other like that with the same settings

And for the camera rig

They all have the same settings

Ofc they all work in the viewport, the cinematic does work normally

I’m really lost here, i cant figure out how is that even possible

Hello! I have a question, do you stop the sequencer before playing another one or after you have used it? Because I have made a mini test with this, and that could be the cause.

Hello mate

I have this two function code to switch cinematics

 SwitchToArena(Player : player, ArenaIndex : int) : void =
        PlayerState := GetPlayerState(Player)
    
        if (CurrentCinematic := PlayerState.ActiveCinematic?):
            if (Agent := agent[Player]):
                CurrentCinematic.Stop(Agent)

        set PlayerState.CurrentArenaIndex = ArenaIndex
        set PlayerState.CurrentViewMode = view_mode.ArenaIdle

        
        var SelectedCinematic : ?cinematic_sequence_device = false
        
        if (ArenaIndex = 0):
            set SelectedCinematic = option{Arena0Cinematic}
            Print("Selected Arena0Cinematic")
        else if (ArenaIndex = 1):
            set SelectedCinematic = option{Arena1Cinematic}
            Print("Selected Arena1Cinematic")
        else if (ArenaIndex = 2):
            set SelectedCinematic = option{Arena2Cinematic}
            Print("Selected Arena2Cinematic")
        else if (ArenaIndex = 3):
            set SelectedCinematic = option{Arena3Cinematic}
            Print("Selected Arena3Cinematic")
        else if (ArenaIndex = 4):
            set SelectedCinematic = option{Arena4Cinematic}
            Print("[SPECTATOR] Selected Arena4Cinematic")
        else if (ArenaIndex = 5):
            set SelectedCinematic = option{Arena5Cinematic}
            Print("[SPECTATOR] Selected Arena5Cinematic")

        
        if (Cinematic := SelectedCinematic?):
           
            set PlayerState.ActiveCinematic = option{Cinematic}
            spawn{PlayCinematicWithDelay(Player, Cinematic, ArenaIndex)}
        else:
        if (UIWidgets := PlayerState.CameraUI?):
            CameraUIModule.HighlightArena(UIWidgets, ArenaIndex)
            CameraUIModule.HighlightViewMode(UIWidgets, 1) 
        
        UpdateSpectatorMatchupUI(Player, ArenaIndex)

   
    PlayCinematicWithDelay(Player : player, Cinematic : cinematic_sequence_device, ArenaIndex : int)<suspends> : void =
        Sleep(0.1)
        if (Agent := agent[Player]):
           
            Cinematic.Stop(Agent)
            Sleep(0.1)
            Cinematic.Play(Agent)
            

When i switch from the working camera pov (Arena2Cinematic) to the ones that doesnt work (Arena3Cinematic), it does make the switch, the game close the view for the Arena2Cinematic but the Arena3Cinematic doesnt launch

And if i got back from Arena3 to Arena2, the cinematic for Arena2 (the workjing one) does trigger
and show me his sequencer

It look like you do, but if something else is modifying your ActiveCinematic at some point before, that could cause to keep 1 or more running, just for the sake of testing. I would check adding

This and calling it before you call with spawn: PlayCinematicWithDelay

    StopAllCinematicsFor(Player:player):void= 
        Arena0Cinematic.Stop(Player)
        Arena1Cinematic.Stop(Player)
        Arena2Cinematic.Stop(Player)
        Arena3Cinematic.Stop(Player)
        Arena4Cinematic.Stop(Player)
        Arena5Cinematic.Stop(Player)

And see if the problem is still there or not

1 Like

Ok i found it,

Its because my rig camera for every other sequencers were spacially loaded, i unchecked and it works now

I didint check that because the sequencer that initially worked was spatially loaded

I unchecked spatially loaded for every rig rail and it works now, thank mate for your help and time

1 Like