Aller au menu - Aller au contenu

Icône [Portal] Entités spécifiques

Mise à jour : 24/01/2012
Difficulté : Facile Facile
2 942 visites depuis 7 jours, dont 27 sur ce chapitre classé 54/786
Ce mini-tutoriel est rédigé en collaboration avec Capitaine Mousse, qui s'est proposé de m'aider à développer le mapping Portal. C'est lui qui rédige les grandes lignes du tuto. Pour ma part, je me suis juste occupé de la mise en page et de l'adaptation des textes pour coller à l'ensemble du tutoriel de mapping :) .
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Le PortalGun

EntitéTypeDescription
weapon_portalgun Point C'est la seule arme de Portal : le PortalGun (Handheld Portal Device)


Voici donc l'arme principe (et la seule) de Portal, le PortalGun. C'est cette arme qui permet à Chell (l'héroïne du jeu) de créer des portails partout où elle le désire (enfin, presque partout, nous y reviendrons :) ).

Le Handheld Portal Device



Pour commencer, voici les propriétés, inputs... de l'entité. Nous verrons ensuite comment mettre en place un socle pour le poser dessus, et le proposer au joueur d'une façon digne de ce nom.

Image utilisateur

Propriétés



Il n'y a que deux propriétés intéressantes, les autres sont connues :

  • Can Fire Portal 1 : Laissez Yes si le Gun est autorisé à créer de portails bleus
  • Can Fire Portal 2 : Pareil que Can Fire Portal 1, sauf qu'il s'agit ici du portail orange


Inputs



  • ChargePortal1 : Charge le tir du portail bleu
  • ChargePortal2 : Charge le tir du portail orange
  • FirePortal1 : Tire le portail bleu, et si la surface le permet, ouvre un portail bleu
  • FirePortal2 : Tire le portail orange, et si la surface le permet, ouvre un portail orange
  • FirePortalDirection1 : Le sens dans lequel sera tiré le portail bleu (angle)
  • FirePortalDirection2 : Le sens dans lequel sera tiré le portail orange (angle)


Les outputs sont des outputs génériques, communs à ma majorité des armes d'Half-Life² ;) .

Le socle



Image utilisateur
Le socle du PortalGun est en réalité un simple prop_dynamic pourvu du model models/props/pedestal_center_reference.mdl. Donnez un nom à votre prop, par exemple pied_portalgun. Le model est par défaut en position Close (fermé). Le truc est que quand le joueur approche du socle, il se déplie et présente le PortalGun au joueur. Mais auparavant, placez le weapon_portalgun et parentez-le au prop_dynamic.

Essayez de bien positionner le PortalGun sur le bras du socle, comme le montre le screen à gauche !


Créez maintenant un trigger_once autour du socle. C'est ce trigger qui déclenchera l'ouverture du socle. Définissez lui cet output :

Output namedTargets entitiesVia this inputParameterDelay
OnStartTouch pied_portalgun SetAnimation Open 0.00


Et voilà, le tour est joué. Quand le joueur approchera du socle et déclenchera le trigger, le bras du socle de dépliera et lui présentera le gun :) .

Les portails

EntitéTypeDescription
prop_portal Point Permet de placer un portail à un endroit précis


Les portails (orange et bleu) peuvent être ouverts de multiples manières :
  • par le joueur, sur des mur prévus à cet effet
  • par l'entité prop_portal, qui permet d'ouvrir, où le mappeur le veut, un portail (orange ou bleu)
  • par le PortalGun, grâce aux inputs FirePortal1 et 2.


Image utilisateur


Nous allons ici voir comment marche le prop_portal.

Cette entité comporte les propriétés habituelles ainsi que les suivantes :

  • Start Activated : Démarre avec le portail ouvert ou fermé
  • Portal Number : Type du portail : Portal 1 = bleu; Portal 2 = orange
  • Portal pair ID that it belongs to : ID de la paire de portail à connecter. Par défaut, cette propriété vaut 0, qui représente l'ID du PortalGun.


Le champ Portal pair ID that it belongs to est très pratique pour ouvrir de multiples portail en même temps. Il suffit de créer un portail bleu et un portail orange, tous deux avec l'id valant 1, et d'autre avec l'id valant 2... pour avoir plusieurs portails ouverts. Bien sûr, trop de portails peut faire ramer le jeu, et même le faire cracher. Je vous conseille donc d'utiliser 2 à 3 paires de portails maximum !


Un nouvel output viens faire son apparition : OnPlacedSuccessfully qui est activé si le portail s'est bien ouvert.
Pour les inputs, il n'y a que deux nouveaux venus :
  • Fizzle : permet de fermer de portail
  • SetActivatedState : permet d'activer ou de désactiver le portail. Mettez 1 pour l'activer, et 0 pour le désactiver.


Le prop_portal ne peut pas être parenté. Il n'y a d'ailleurs pas d'attribut parent)

Les murs anti-portails

EntitéTypeDescription
func_noportal_volume Bloc Permet de bloquer la création de portails


Vous avez dû remarquer que dans Portal, il n'était pas possible de tirer des portails sur toutes les surfaces. Je vais ici vous expliquer comment réaliser ces murs "anti-portails".

Les mur anti-portails sont très simples à réaliser. Il faut soit une texture de métal issue de Portal (la map fournie comme exemple dans le SDK en comporte quelques-unes) ou une texture de vitre.
Ces deux types de textures bloquent toutes créations de portails avec le PortalGun, mais elles sont sans effets sur les prop_portal.

On peut aussi bloquer les portails avec une entité-bloc, le func_noportal_volume. Pour mettre en place cette entité, il suffit de la placer devant le mur que vous voulez protéger. Vous pouvez utiliser la texture toolstrigger.

Les tourelles

EntitéTypeDescription
npc_portal_turret_floor Point Tourelle standard de défense de Portal
npc_rocket_turret Point Tourelle lance-roquettes


Il y a deux types de tourelles dans Portal : les tourelles de base, qui mitraillent le joueur en poussant des cris aigus, et les tourelles lanceuses de roquettes, comme celle qui permet de détruire GLaDOS (le robot à la voie sulfureuse ^^ ) à la fin du jeu.

Tourelles mitrailleuses



Ce premier type de tourelle se place avec l'entité npc_portal_turret_floor. Il n'y a qu'une propriété, Damage pushes player, qui si elle est définir sur Yes, provoquera le recul du joueur si celui si est blessé par la tourelle.

Il y a aussi quelques flags qui peuvent se révéler utiles, comme Autostart pour démarrer automatiquement ou Out of Ammo qui autorise à tourelle à être à court de munitions (mais ne le cochez pas, sinon c'est trop facile ^^ ).

Tourelles lance-roquettes



La tourelle lance-roquettes se place via l'entité npc_rocket_turret. La pose est extrêmement simple ; d'ailleurs, il n'y a pas de propriétés intéressantes, juste un flag, Disabled, qui permet de désactiver la tourelle par défaut. Si vous le cochez, il vous faudra "réveiller" la tourelle avec son input Enable :) .

Les caméras

EntitéTypeDescription
npc_security_camera Point Caméra de surveillance
func_portal_detector Bloc Trigger qui détecte la création d'un portail sur sa surface


Les caméras de surveillance se placent avec l'entité npc_security_camera. Il n'y a rien d'autre à dire ^^ hormis le fait de ne pas oublier de cocher le flag Autostart.

Image utilisateur
La caméra sera détachable ?


Bien sûr que non ! Et je vais d'ailleurs vous expliquer comment rendre votre caméra détachable :) .

La caméra, par défaut est fixe. Il y a moyen de la faire réagir à la physique (donc de la faire tomber ^^ ) en déclenchant son input Ragdoll, quand un portail est créé derrière la caméra.

Mais, comment détecter la création d'un portail ?


Facile, il suffit de placer un bloc, transformé en func_portal_detector à l'endroit où la création d'un portail fera tomber la caméra. Il vous suffit d'ajouter l'output OnStartTouchBothLinkedPortals au func_portal_detector. Cet output appellera la caméra avec son input Ragdoll, comme ceci :

Output namedTargets entitiesVia this inputParameterDelay
OnStartTouchBothLinkedPortals super_camera_qui_tue Ragdoll <none> 0.00


Voici comment placer idéalement votre func_portal_detector :) :

Image utilisateur
Chapitre précédent Sommaire Chapitre suivant

Partager

2 commentaires pour "[Portal] Entités spécifiques"
Note moyenne : 3.89 / 4 (103 votes)
Pseudo Commentaire
Hors ligne Spm-Yayap # Posté le 12/02/2009 à 00:43:30
Still Alive
Avatar

Ville : Saint pierre
Pays : Saint-Pierre-et-Miquelon

A quand les explication concernant les portes, bouton (petit et gros), lanceur et capteur de balle d'énergie, ascenseur, champ de force désintégrant (et anti-portail), les tuyau qui lâche les cubes, et je doit en oublier.

Sinon très bon tuto ;)

Image utilisateur
Big-Tuto sur le Garry's Mod en cours de création :)
 
Hors ligne Nweke # Posté le 29/01/2011 à 19:34:00
Avatar

Avis : Très bon

Pour les boutons, c'est des "func_weight_button" parenté au model rouge, pour les lanceurs de balles c'est un "point_template" a l'intérieur du model, la balle est surement une entitée a paramétrer (n'oublie pas de lui mettre un nom) et pour le réceptionneurs, et beh un trigger avec un "filter_name" et pour l'animation, t'as qu'à chercher... ^^

Les ascenseurs sont des "func_movelinear" parenté au model de la cabine, et les portes sont des models parenté eux aussi à la cabine...

Pour tout ce qui est trucs anti-portail, tu peux te référencé à la map servie avec le SDK..

En espérant t'avoir aidé.
Après si tu trouve pas, cherche des maps de portal sur internet et décompile les en suivant les instructions de Thunderseb (->ici), comme ça tu pourra les utilisés avec Hammer :)

Voir tous les commentaires