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).