*Note: I created the most of the tutorials using the Roboblitz and Gears of War editors. Based on the engine, and the version, some properties specified may be in slightly different locations than what is displayed in the screenshots.

If you need to learn how to create a basic map I would reccomend:
For UT99, UT2K3 & UT2K4: the Unreal Wiki.
For UT3: Waylon's Tutorials.



Interactions Classiques - Mover en Boucle/d'Ambiance



J'ai créé une simple map de test consistant en un peu de BSP, une skylight, un playerstart, un skydome et une DirectionalLight.

Je vais seulement utiliser des éléments de base de l'éditeur qui se trouvent dans les packages officiels.

Je vais seulement utiliser des movers/Interpactors (cela revient au même) qui sont généralement animés avec Matinee. Si vous avez besoin d'apprendre à utiliser Matinee, je vous recommande le Tutorial de Hourences comme point de départ.

J'ai ajouté un static mesh cube et l'ai converti en Interpactor. Je l'ai ensuite allongé dans sa hauteur et réduit sa largueur en X et en Y, puis je l'ai dupliqué. Le pivot est au centre et je vais uniquement l'animer de haut en bas, ou d'un côté à l'autre. Quelque chose qui tournerai sur une charnière, nécessite un pivot sur un côté et il faudra également prévoir où le joueur se trouvera pour qu'il n'y ait pas de gène.

*Note: Les points de pivot (ou d'origine) des statics meshes servent de point charnière ou de centre de rotation pour les Interpactors. Si vous avez besoin de créer une porte, ou n'importe quel autre objet mobile qui tournera, pivotera ou se balancera, vous aurez besoin de connaître son point de pivot. Il est impossible de redéfinir un point de pivot de façon permanente avec ce moteur. Si vous trouvez un static de porte qui vous plait bien pour en faire une porte pivotante mais que son pivot est en son centre, et bien vous n'avez pas de chance ! Le point de pivot est déterminé lors de la création du static dans un logiciel de 3D mais pas dans UnrealEd.

Effet de Boucle / d'Ambiance: Il y a beaucoup de solutions disponibles. Que souhaitez vous faire exactement ? Il est impératif de bien savoir où l'on veut aller avant de commencer. Nous allons voir beaucoup de choses différentes, et la plupart du temps, tout peut être combiné ou interverti pour créer des effets variés et intéressants.

Des pistons qui montent et descendent de manière uniforme:
Utilisons notre "recette de cuisine" que j'ai présenté dans
l'Introduction de cette série de tutoriaux pour créer cela:

*Note: Ce système en boucle est également disponible sur le site de Tutoriaux de Hourences. Si vous le connaissez déjà, vous pouvez passer directement au système suivant.

1) Que souhaitons-nous faire?: une machine qui pompe, dans le décor, avec de la vapeur et des bruits.

2) Rassemblons nos éléments:
2 Movers
2 Matinees
2 Emitters
4 PlaySound Actions
LevelStartUp Event

3) Mélangeons le tout. Dans la map, j'ai ajouté deux murs avec un trou au milieu. J'ai créé deux movers longs et fins et ajouté deux emitters, un juste en haut d'un mover et l'autre en bas.




Du côté de Kismet, je vais commencer par ajouter un event LevelStartUp pour pouvoir déclencher ma séquence dès que la map est chargée. Suivant l'éditeur, vous pourriez avoir besoin d'autres Event de lancement, ou dans le cas de chargement de sous niveaux, d'un LevelLoaded ou d'un Visible Event. Ensuite je vais ajouter mes deux Matinees : une pour le premier piston qui commence du bas, monte et redescend et une autre pour celui qui commence en haut, descend puis remonte. Dans le mover group, je règle les mouvements sur 'RelativeToInitial' pour le cas où je souhaiterais déplacer mes movers tout en gardant leurs mouvements relatifs. Je règle aussi les Matinees sur Rewind On Play. Ensuite je place mes clés de mouvement, avec simplement deux clés, une pour le point de départ et une autre pour le point d'arrivée. Pour faire tourner le système en boucle, lorsque la Matinee est finie, je lui dis de repartir en sens inverse comme montré sur l'image ci-dessous. Lorsque le retour est terminé, la Matinee est revenue à son temps 0 et puisqu'il ne s'agit pas du temps final mais que la Matinee doit s'arrêter, elle considère que le mouvement a été interrompu (Aborted). Donc j'utilise la sortie Aborted et la connecte à Play pour faire tourner le système en boucle. Puis j'ajoute deux sorties à mes Matinee pour contrôler les sons et les emitters. J'ajoute deux Toggles pour allumer les emitters et des Play Sound pour les deux pistons qui montent et descendent. Dans l'image, j'utilise PSound02 pour le son de l'emitter et Psound01 pour le son des pistons. N'oubliez de désactiver les emitters par défaut (dans les propriétés de l'emitter / Emitter / ParticleSystemComponent, décochez 'AutoActivate').




4) Testons le. Lancer le jeu et testez le, cela marche bien pour moi.

5) Ajustons le. D'abord, pensez aux collisions et à l'éclairage et corrigez ces problèmes. Ensuite, envisagez tous les problèmes possibles relatifs à des interactions avec les joueurs ou les armes. Puisque je souhaite que ce soit un effet de décor, je placerais uniquement un blocking volume autours pour empêcher les joueurs de le toucher.
Maintenant que les bases sont posées, vous pouvez vous lâcher et rajouter des lumières, d'autres emitters, des temps morts, presque n'importe quoi.

6) Ajustements pour les modes solo/multi-joueur. Comme vous l'avez peut-être lu dans la section Mode Solo/Co-op/Multi-joueur, il y a beaucoup de considérations à prendre en compte quelque soit le mode choisit. Ce système tel qu'il est là devrait être OK, et pour le mode solo, et pour le mode multi-joueur.


Maintenant, supposons que vous souhaitiez avoir le même système mais que vous vouliez que le mouvement des pistons soit différent entre l'aller et le retour. Avec le système actuel, nous ne pouvons pas faire ça car le retour dans la Matinee est juste l'aller joué à l'envers. Nous devons donc configurer la Matinee un peu différemment et la mettre en boucle pour arriver à nos fins.

Des pistons qui montent et descendent irrégulièrement:
Utilisons notre "recette de cuisine" que j'ai présenté dans l'introduction de cette série de tutoriaux pour créer cela:

1) Que souhaitons-nous faire ? : une machine qui pompe, dans le décor, avec de la vapeur et des bruits.
2) Rassemblons nos éléments. Nous avons besoin de deux movers, deux Matinee pour contrôler les movers, deux emitters et d'au moins deux sons (j'en ai choisit quatre).
3) Mélangeons le tout. Dans le niveau, j'ai ajouté deux murs avec un trou au milieu. J'ai créé deux movers longs et fins et ajouté deux emitters, un juste en haut d'un mover et l'autre en bas.




Du côté de Kismet, je vais commencer par ajouter un event LevelStartUp pour pouvoir déclencher ma séquence dès que la map est chargée. Suivant l'éditeur, vous pourriez avoir besoin d'autres Event de lancement, ou dans le cas de chargement de sous niveaux, d'un LevelLoaded ou d'un Visible Event. Puis je vais ajouter mes deux Matinees : une pour le premier piston qui commence du bas, monte et redescend et une autre pour celui qui commence en haut, descend puis remonte. Dans le mover group, je règle les mouvements sur 'RelativeToInitial' pour le cas où je souhaiterais déplacer mes movers tout en gardant leurs mouvements relatifs. Je règle aussi les Matinees sur Rewind On Play. J'ajoute les Toggles pour activer les emitters, et je met mes Play Sounds pour les sons des pistons qui montent et qui descendent. Dans l'image, j'utilise PSound02 pour le son de l'emitter et Psound01 pour le son des pistons. N'oubliez de désactiver les emitters par défaut (dans les propriétés de l'emitter / Emitter / ParticleSystemComponent, décochez 'AutoActivate'). Ensuite dans mes Matinees, je vais créer le mouvement complet d'aller et retour avec plusieurs clés. Dans ce cas, la position du mover de la dernière clé doit correspondre exactement à la position du mover de la première clé. Une fois mon mouvement créé, j'active RewindOnPlay et Looping dans les propriétés de la Matinee. Maintenant, mes Matinees vont tourner en boucle avec des comportements différents entre l'aller et le retour et je n'ai plus besoin de connecter Reverse à Aborted.




4) Testons le. Lancer le jeu et testez le, cela marche bien pour moi.

5) Ajustons le. D'abord, pensez aux collisions et à l'éclairage et corrigez ces problèmes. Ensuite, envisagez tous les problèmes possibles relatifs à des interactions avec les joueurs ou les armes. Puisque je souhaite que ce soit un effet de décor, je placerais uniquement un blocking volume autours pour empêcher les joueurs de le toucher.
Maintenant que les bases sont posées, vous pouvez vous lâcher et rajouter des lumières, d'autres emitters, des temps morts, presque n'importe quoi.

6) Ajustements pour les modes solo/multi-joueur. Comme vous l'avez peut-être lu dans la section Mode Solo/Co-op/Multi-joueur, il y a beaucoup de considérations à prendre en compte quelque soit le mode choisit. Ce système tel qu'il est là devrait être OK, et pour le mode solo, et pour le mode multi-joueur.