Level Streaming
Apparence
J'ai fais le choix d'organiser le jeu avec un seul Persistent Level (qui contient l'orchestration), et un Sublevel par niveau/hub streamé à la demande.
Je m'évite les contraintes du World Partition et ce sera plus simple à gérer en étant seul.
Rôle et placement du Transition Manager
Comme le Persistent Level n'est jamais déchargé, un simple Actor placé dedans convient (pas besoin de Game Instance Subsystem). Ses responsabilités :
- Recevoir l'appel d'un trigger de transition (placé dans un niveau ou un hub).
- Streamer le sublevel cible s'il n'est pas déjà chargé.
- Attendre que ce sublevel soit effectivement chargé.
- Positionner/possess le bon pawn au point d'entrée du niveau cible.
SetViewTargetWithBlendvers la bonne caméra (rig hub ou caméra du pawn niveau).- Swap l'Input Mapping Context.
- Streamer out l'ancien sublevel (avec un léger délai pour ne pas décharger brutalement pendant que le blend caméra est encore visible).