Panneaux
Les Panels (ou panneaux), sont des éléments clefs des salles de test de Portal 2 . Les panneaux sont formés d'un bras robotique, plutôt court ou long selon son utilisation. Ils permettent à l'environnement d'évoluer selon les besoins, en modifiant les murs, le sol, ou le plafond. Ils peuvent aussi former des escaliers, des portes, ou des rampes. Ainsi les salles de test sont modifiables à volonté, et donnent vie aux tests.
Création d'un panneau
1. Créez une entité prop_dynamic , avec les paramètres suivants :
Property Name Value World Model models/anim_wp/room_transform/arm64x64_interior.mdl Name panel1 HoldAnimation true Collision Not Solid
2. Créez un bloc func_brush de dimension 256Lx256Wx32H
sur le model. Paramétrez le comme ceci :
Property Name Value Name panel1_brush Parent panel1
3. Créez une entité logic_auto avec les Outputs suivants :
A présent grâce à cet attachement, le panneau peut suivre l'animation du modèle, selon la pose désirée.
4. Créez une entité logic_relay , avec les paramètres suivants :
Property Name Value Name relay_panel1_animation
et les Outputs suivants :
Les noms d'animations sont disponibles dans le Model Browser dans la catégorie "Sequences" du model.
Liste des attachements des panneaux aux bras
L'attachement des panneaux au bras peut varier selon le bras robotique, ou le model. Voici la liste des noms des attachements à la base selon le model du bras : Notez que "Idle" correspond à immobile, ou "static". Cela veut dire que le bras ne bougera pas et restera dans sa position par défaut.
Chemin du model | Animé | Nom de l'attachement du panneau. |
---|---|---|
anim_wp\arm_interior_192\arm_interior_128.mdl | Oui | GLASS - N/A |
anim_wp\arm_interior_192\arm_interior_192.mdl | Oui | GLASS - N/A |
anim_wp\arm_interior_192\video_arm.mdl | Oui | monitor_attach |
anim_wp\arm_interior_192\video_arm_big.mdl | Oui | monitor_attach |
anim_wp\circle_shield\circle_shield.mdl | Oui | panel_top |
anim_wp\framework\circle_shield_static.mdl | Non | N/A |
anim_wp\room_transform\arm64x64_interior.mdl | Oui | panel_attach |
anim_wp\room_transform\arm64x64_interior_rusty.mdl | Yes | panel_attach |
anim_wp\telescope_arm\telescope_arm.mdl | Oui | panel_top |
anim_wp\telescope_arm_128\telescope_arm_128.mdl | Oui | panel_top |
anim_wp\telescope_arm_128\telescope_arm_128_glass.mdl | Oui | GLASS - panel_top |
anim_wp\telescope_arm_128\telescope_arm_128_idle.mdl | Non | N/A |
anim_wp\telescope_arm_128\telescope_arm_128_upidle.mdl | Non | N/A |
anim_wp\telescope_arm_128\telescope_arm_128x256.mdl | Yes | GLASS - panel_top |
anim_wp\telescope_arm_trans\telescope_arm_trans.mdl | Oui | GLASS - panel_attach |
props_livingwall\armliving64x64.mdl | Oui | panel_attach |
Taux de vitesse d'une animation
Il est parfois nécessaire pour un bras (ou n'importe quel autre prop_dynamic ) de "s'animer" plus ou moins vite. Le taux de vitesse d'animation d'une entité prop_dynamic est exprimé en pourcentage, ou 1 est équivalent à 100%, 2 à 200%, 0.5 à 50%, et 0 à 0%. (Notez qu'à 0% le model est à l'arrêt). Il y a 2 moyens possibles pour le modifier :
La première méthode est la plus simple, et est applicable à tous les prop_dynamic . Le taux peut être établi au bras et il gardera en permanence ce taux. (C'est à dire que le bras jouera n'importe quelle animation avec ce taux). Un nouvel Output doit être alors ajouté au bras.
Ainsi le bras jouera son animation 5 fois plus vite. Notez que le !self est une commande spéciale qui permet à une entité de s'appeler sois même.
La deuxième méthode est plus compliquée mais plus "flexible" pouvant s'adapter à des circonstances particulières. Pour cela il vous faut créer une entité bloc trigger (comme par exemple un trigger_once , etc...) avec les Outputs suivants :
Les Outputs suivant vont faire que lors du déclenchement, arm_1 va commencer son animation, et un centième de seconde plus tard le taux de l'animation va augmenter à 200%. (Notez que si les deux Outputs sont déclenchés au même moment, le taux restera à sa valeur de défaut soit 1).