BackgroundViewer

  BackgroundViewer -- Une camera/environnement placée pour créer le décor de fond (ciel/terrains... le tout inaxessible) que le joueur verra depuis les zones exterieures.

 

Liste des variables

- Active Actif ou non au démarrage du niveau
- Name  
- Parent  
- SpawnFlags  
- Target cible du premier camera trigger
- World Settings Controller Sélection du WSC correspondant à cet arriere plan

 

Descriptif

BackgroundViewer   (Davor Hunski)

Cette entité est utilisée pour définir le point d'origine de visualisation de l'arriere plan (background). Un niveau peu contenir plus d'un backgroundviewer, mais seulement un seul peut etre actif à la fois. Apres que l'arriere plan soit calculé, le moteur calcul les elements géometriques autour de la vue du joueur. Le processus de rendu de l'arriere plan est le même que celui de la vue du joueur. simplement, le moteur ne traite que les entités ayant leur option "background" cochée. Un arriere plan n'est en rien différent du reste. Il peut etre aussi dynamique et complexe que vous voulez. De cette maniere vous pouvez créer l'effet de mouvement d'un train ou de l'interieur d'un vaisseau spacial, ou d'ajouter des oiseaux qui volent dans le ciel,...

 

Active

-Propriété. Lorsque cette option est cochée, c'est cet arriere plan qui sera actif. Si un trigger active un autre backgroundViewer, il y aura desactivation de celui en cours et sera remplacé par le nouveau.

 

World Settings Controller

- Pointe vers une entité WorldSettingsController (WSC). L'entité WSC à un rôle majeur dans tous les environnements interactifs tels que les tremblements de terre, evenements basés sur les blending(fondu) ou scrolling(mouvement), orage, pluie...
Il utilise un ensemble de variables qui détermine les differents effets (FX). Si vous voulez créer un effet sur un evenement par activation (event triggered FX), vous devez pointer vers le WSC avec la propriété de ce pointeur. Voici comment un FX complexe est exécuté.
Un FX (orage) doit créer un transformation de texture ou un changement de vue lié à l'évenement(event) qui s'active dans le monde(world). Donc le moteur doit créer un mécanisme quand un evenement dans le monde(tel qu'un interrupteur activé ou la pénétration dans une zone) produit une réaction sur la géometrie(tel que texture blending ou ombres plus sombres dans le cas d'un orage). Pour chaque frame(image), une fonction globale dans l'entité WorldBase, calcule les parametres de réaction de la géometrie.(Vitesse de déplacement appliquée sur les polygones des nuages ou sur la valeur alpha(transparence) pour l'orage. type->Valeur à 0 pour orage non actif, et alpha au max (255) lorsque l'orage arrive à son maximum). Pour obtenir la puissance actuelle de l'orage, cette fonction localise le backgroundViewer actif, Puis il récupère le pointeur du WorldSettingsController de l'élement que nous sommes en train d'expliquer. Cette fonction globale peu lire l'état de l'entité WSC. Dans le cas d'un orage, lorsque le StormController (entité utilisée pour controller l'effet de l'orage) est déclenché (triggered), il localise le WSC(utilise le même mécanisme: obtient le BackgroundViewer actif, en obtient le pointeur WSC) et change les variables du WSC qui controle l'état de l'orage(le StormController marque dans le WSC à quel moment l'orage à commencé en durée xx:yy:zz).
Maintenant, à chaque rendu, la fonction globale du worldbase va localiser WSC via ce pointeur dans le backgroundViewer et connaitra la puissance actuelle de l'orage. (peut etre facilement calculé depuis le temps actuel et le temps de départ de l'orage).