Visitez la maison témoin du Nali !

C'est un petit niveau actuellement en version 1.0.. Il n'est pas joli, c'est seulement une illustration du fonctionnement de divers trucs concernant la vitrerie dans Unreal.

Et pour commencer, au stand vitrerie :

-
Fenêtre simple


Elle apparaît en grisé sur cette image. On la voit bien dans le jeu, mais tout passe à travers : la lumière mais aussi les projectiles et les créatures comme les joueurs si la taille de l'ouverture le permet.

Elle est constituée d'une feuille 2D ajoutée avec l'outil "Add Special Brush", comme "transparent window", avec les attributs transparente et non-solide.

 

 

 

 


-
Fenêtre bloquante


La vitre est rendue incassable en ajoutant à la feuille 2D des "Keypoints/BlockAll" dont on ajuste les rayons de collision.

On peut aussi installer à la place un "InvisibleCollisionHull" qui est tout simplement un solide d'épaisseur très fine, et dont définit les dimensions de telle manière qu'il n'entre pas en contact avec le châssis et la vitre. Ce solide est rendu invisible et semi-solide.

 

 

 

 

 

 


- Fenêtre qui se brise


La vitre est ici un mobile constitué d'un solide à texture de vitre, rendu transparent. Lorsque la gâchette est activée par le tir, elle déclenche le mouvement du mobile qui disparaît instantanément. Comme il a la propriété 'TriggerToggle" et que la gâchette qui le commande est à usage unique, il disparaît sous terre et on ne le revoit plus.

Les "Effect/BreakingGlass" déclenchés en même temps projettent des morceaux de verre.

Le "SpecialEvent" inflige une blessure au tireur. Le problème est qu'elle est subie quelle que soit la distance de tir, ce qui n'est pas réaliste. Je pense remplacer cet effet par un fragment de verre mobile qui blesse au contact..

- Porte vitrée

totalement imperméable à toute pénétration quand elle est fermée.
C'est simple : les "BlockAll" sont asservis au mobile qui constitue la porte :
- "Movement/AttachTag"=porte
- "Advanced" : bMovable=vrai, bStatic=faux, bNoDelete=faux.

 

 

 




- Fenêtre qui s'ouvre à double battant :

Impénétrable mais on peut briser les carreaux en tirant dessus.
Elle est composée de deux parties pour chaque battant (forme mobiles) :
- Le châssis qui s'ouvre et se ferme déclenché au contact du joueur via une gâchette.
- La vitre qui accompagne ce mouvement, mais est déclenchée par une autre gâchette. Celle-ci est inactivée par le tir. Les vitres sont en outre asservies (AttachTag) à un petit mobile déclenché par le tir qui les fait disparaître dans les entrailles de la terre. Rien ne s'oppose plus au passage de projectiles et de petites bestioles à travers l'ouverture..

 

 

 

 

 

 


- Baie vitrée coulissante



Elle est composée de trois parties qui sont réunies dans un seul mobile par intersection :
- Le châssis via une forme solide
- La vitre via une feuille transparente
- Le bloc invisible "InvisibleCollisionHull" dont on évite soigneusement qu'il entre en contact avec le châssis ou la vitre (sinon pb d'affichage..).

L'ensemble est ensuite intersecté et ajouté en tant que forme mobile. Le panneau peut coulisser. En position fermée, rien ne passe.

 

 

 

 

 

 

 


- Fenêtre à guillotine



Je la trouve très pratique pour le tireur isolé "sniper" qui peut guetter tranquillement et ouvrir juste le temps de tirer..

Elle se compose d'une partie supérieure fixe formée :
- d'un châssis avec vitre transparente
- d'une vitre transparente
- d'un ICH dont on ménage le nécessaire interstice et qu'on place sur la face externe pour qu'il ne gêne pas le mouvement du "BlockAll" de la partie inférieure, placé lui à l'intérieur. Si on utilise un "BlockAll" en haut, son rayon de collision va gêner le mouvement de celui du bas qui sera ensuite décalé et plus rien ne fonctionnera comme prévu..

Et d'une partie inférieure mobile avec :
- châssis
- vitre 2D
- "BlockAll" qui est rendu solidaire du mobile par les propriétés vues plus haut : AttachTag=battant, bMovable=vrai, bStatic=faux, bNoDelete=faux.

 


- Miroir qui se brise


C'est un simple mobile déclenché par le tir, à déplacement instantané, obtenu à partir d'un solide dont la paroi visible a la propriété "Mirror"=vrai.
Il a un défaut dans le reflet qu'on peut voir dans le jeu.. Je pense que c'est dû à un défaut d'alignement des textures des vitres avant leur intersection.


- Lampadaire

Dont on casse l'ampoule en tirant dessus :
La zolie ampoule dans le lampadaire est un "Effect/MerckFlare" qui est rendu permanent en modifiant "Advanced/LifeSpan"=0. Il est aussi asservi à un mobile, comme dans le cas des "BlockAll" vu plus haut. Le tir sur le lampadaire déclenche le mobile qui fait disparaître l'ampoule et sa lumière, en même temps que des fragments de verre sont projetés.

J'ai placé en plus une "TriggerLight" qui est éteinte du même coup, mais elle est superflue, à moins de chercher des colorations ou des effets particuliers.

Quant à la structure du lampadaire, elle est faite d'une forme 3D excavée, et de feuilles 2D ajustées autour de la cage. L'ensemble est ensuite intersecté avec la FA pour produire une seule forme, et ajouté dans la carte en tant que forme semi-solide. Les vitres conservent leur transparence.

 

 

 

 

 

 

 

 

Conclusion : comme vous me l'avez demandé, j'ai tenté d'illustrer le fait qu'il est simple de faire des vitres transparentes, incassables ou non, et solidaires des fenêtres. CQFD..

Testez le niveau. Il faut parfois deux balles pour obtenir l'effet (je cherche pourquoi..). Petits commentaires via l'Universal Translator :)