Entité concernée : func_rotating
Type d'entité : entité-bloc
Difficulté : moyen
Parmi les objets que l'on rend rotatifs, il y a surtout des hélices, que ce soient des hélices de ventilateurs géants ou bien des hélices d'hélicoptère.
Dans un premier temps, il vous faut créer l'objet que vous allez rendre rotatif. Je vais par exemple créer un petit ventilateur :
Avec un peu d'expérience du Morphing Tool, vous devriez pouvoir faire pareil que moi (et certainement mieux lol)
Il va maintenant falloir placer un bloc spécial, entièrement recouvert de la texture ORIGIN. Cette texture (représentant un visage vert) est particulière car elle n'est pas visible quand on joue (heureusement), et elle indique au moteur de Half-Life le centre de rotation de l'objet.
Qu'est-ce que le centre de rotation de l'objet ?
C'est l'endroit autour duquel il tourne. En pratique, c'est l'endroit qui se déplace le moins.
Sur mon exemple, les hélices tournent autour d'un centre (au milieu). C'est cet endroit qui est le centre de rotation de l'objet. C'est là qu'il va falloir poser notre bloc ORIGIN :
A vous d'adapter ce cas à votre situation, mais vous ne devriez pas avoir trop de mal maintenant que je vous ai montré où j'ai placé mon bloc ORIGIN...
Bien, maintenant sélectionnez votre objet ET le bloc Origin, puis cliquez sur le bouton "ToEntity".
Choisissez l'entité
func_rotating et éditez maintenant ses propriétés :
- Name : nom de l'entité si celle-ci est déclenchée par un trigger.
- Render FX, Render Mode, FX Amount et FX Color : voir le chapitre sur la transparence pour savoir comment les utiliser.
- Pitch Yaw Roll : c'est l'orientation de l'entité. Vous pouvez la modifier aussi grâce au radar en haut à droite. Normalement, vous ne devriez pas avoir besoin de modifier ces valeurs pour cette entité.
- Light Flags et Light Origin : ces champs n'apparaissent pas toujours, cela dépend du FGD que vous possédez. Ils permettent de modifier les informations de lumières pour cette entité. Vous n'en aurez pas besoin ici.
- Rotation Speed : vitesse de rotation de l'objet. Pour un ventilateur comme le mien, je vous recommande de mettre au moins 500, sinon plus, parce qu'en-dessous on a l'impression que c'est à l'arrêt

- Volume (10 = loudest) : le ventilateur peut produire du son et remplacer ainsi l'entité ambient_generic. Mettez ici le volume du son (valeur de 1 à 10). Je vous recommande de mettre 10 pour qu'on entende quelque chose

- Friction (0 - 100%) : ce pourcentage correspond à la vitesse à laquelle l'entité va freiner (le flag "Acc/Dcc" doit être coché).
- Fan Sounds : son que va produire le ventilateur (en anglais : fan = ventilateur). Laissez "No Sound" si vous ne voulez pas que l'entité produise du son.
- WAV Name : nom du fichier WAV à jouer lors de la rotation. Utilisez cet attribut uniquement si les sons de "Fan Sounds" ne vous conviennent pas.
- _minlight : niveau de luminosité minimum. Pour que l'entité soit visible même s'il fait noir ;)) C'est un attribut très rarement utilisé.
- X Y Z - Move here after lighting : je ne me sers pas trop de cet attribut. C'est la position initiale de l'entité (en coordonnées X Y et Z) après que la pièce ait été éclairée. Je n'en vois pas vraiment l'intérêt...
- Damage inflicted when blocked : si le joueur est coincé par une des hélices, alors il perdra le nombre de points de vie indiqués ici.
Voyons voir maintenant les flags de cette entité. Ils sont nombreux :
- Start ON : l'objet est actif dès le début du niveau. Cochez ce flag si vous voulez que l'objet tourne sans avoir été appelé par un trigger auparavant. C'est assez fréquent, alors si votre ventilateur ne tourne pas vous saurez pourquoi ;))
- Reverse Direction : l'objet tournera en sens inverse.
- X Axis : l'objet tournera selon l'axe des X (au lieu de Z par défaut).
- Pour savoir quel axe utiliser, j'ai une astuce. Regardez dans vos vues 2D sous Worldcraft : dans l'une d'entre elles la ventilateur apparaît de face.
En haut à gauche, deux lettres appraissent (ici X et Z). La lettre qui manque (Y) est l'axe sur lequel l'engin va tourner. C'est tordu mais ça marche 
- Y axis : l'objet tournera sur l'axe des Y (au lieu de Z).
- Acc / Dcc : l'objet accélèrera et décélèrera doucement. Idéal pour montrer que le ventilateur se met en place ou est en train de s'arrêter.
- Fan Pain : aïe bobo ! Si ce flag est coché, le joueur sera repoussé par le ventilateur s'il s'en approche de trop près. De plus, il va perdre des points de vie très rapidement (voire se faire hacher s'il persiste à vouloir passer ;))
- Not Solid : l'entité n'est pas matérielle. Le joueur peut alors passer à travers comme si elle n'existait pas.
- Small Radius : comme on l'avait vu pour le thème d'entités sur le son, ce flag fait en sorte que le son soit entendu dans un faible rayon.
- Medium Radius : idem pour un rayon moyen.
- Large Radius : idem pour un large rayon.
Voilà, testez votre niveau et vous verrez l'objet s'animer ! Idéal pour mettre un peu de vie dans une map !
Si votre objet ne s'anime pas, vérifiez que vous avez bien coché le flag "Start ON", et que vous avez donné une vitesse à la rotation de l'objet.