Page 1 sur 1

[RESOLU] Rotation upper body Third Person Shooter (système de visée)

Publié : 04 Fév 2019 12:13
par Krafter
Bonjour à tous,

Je fais actuellement un Third Person Shooter dans lequel le joueur est dos à la caméra et j'ai un petit soucis avec le système de tir.

Contexte : Le personnage utilise la rootMotion des anims pour se déplacer. Afin de tirer, j'ai choisi d'utiliser des particules émisses depuis le bout de mon arme, vers l'endroit où pointe la souris (en coordonnées world). Cela fonctionne très bien, cependant durant le tir mon personnage jouait une animation "Idle", ce qui ne convenait pas (l'arme n'étant pas du tout orientée dans la direction d'émission des particules).

J'ai donc ajouter une animation "Aiming", que j'applique au haut du corps de mon personnage avec un Mask, pendant que je tir mon personnage brandit son arme devant lui (et je peux marcher), cela est déjà mieux si je vise tout droit.


Le souci à présent : lorsque j'envoie la souris à droite ou à gauche (où en haut / bas), les particules sortent de l'arme avec un certain angle, car l'arme ne suis pas le mouvement de la souris. Sachant que je n'ai pas envie que le joueur rotate complètement là où il vise (ce qui serait plus simple mais j'aime me compliquer la vie! Je veux qu'il reste dos à la caméra). Je souhaiterai que seul le "upper body", la partie supérieure de mon joueur rotate là où la souris vise.

J'ai pas mal fouiller sur le sujet sans trouver de réelle solution (du moins pas de solution gratuite et je n'ai pas envie d'acheter d'asset payante).


Donc si quelqu'un à déjà réalisé cela ou connait une solution, cela m'aiderait beaucoup! Petite précision je n'y connais rien en animation, que je prends sur internet.. Donc je cherche plutôt une solution réalisable dans Unity pour modifier la rotation de mon personnage (où la rotation de l'animation "aiming"?) plutôt que de créer des animations.


Merci par avance.

Re: [MY-AL] Rotation upper body Third Person Shooter (système de visée)

Publié : 04 Fév 2019 19:11
par Max
Hello,
Krafter a écrit :
04 Fév 2019 12:13
Je souhaiterai que seul le "upper body", la partie supérieure de mon joueur rotate là où la souris vise.
Regarde du coté de l'asset Mecanim Example Scenes, dans les différentes scènes d'exemple,
tu as celle nommé "Teddy Bear Bazooka", cela met en oeuvre le principe que tu cherches.

Image

Re: [MY-AL] Rotation upper body Third Person Shooter (système de visée)

Publié : 05 Fév 2019 10:28
par Krafter
Merci de ta réponse.

J'ai regarder cette scène hier soir et.. j'avoue n'avoir rien compris ^^" Ils utilisent une layer dans l'animator appelée HandLayer, mais qui est vide d'animation ou de mask (même "at runtime"). Cette layer utilise les Inverse Kinematics mais je n'en ai jamais fais, j'ai essayé de dé-tricoter le code lié mais avec mon faible niveau (je fais du Unity juste par hobby) je n'ai pas réussi à comprendre.

TOUTEFOIS plus tard dans la soirée je suis tombé sur une vidéo qui résout mon problème (et m'en apporte d'autres, mais c'est une autre histoire). Une fois n'est pas coutume un tuto fais par une personne qui semble d'origine indienne (je crois?), ça fait cliché mais avec Unity ou d'autres softs que j'utilise pour le boulot c'est souvent ce genre de vidéo qui m'apporte des solutions ^^.

Je mets le lien de la vidéo si d'autres ont le soucis ou si certains veulent réagir quant aux avantages / inconvénients de cette méthode (qui me semble brutale mais qui fait le café!).

https://www.youtube.com/watch?v=6UgB7TMk3Bg&

Re: [RESOLU] Rotation upper body Third Person Shooter (système de visée)

Publié : 07 Fév 2019 15:47
par ZJP
:-D
Cela me rappelle les liens que je postais régulièrement dès lors qu'il était question d'IK :

https://www.youtube.com/watch?v=EggUxC5_lGE

Re: [RESOLU] Rotation upper body Third Person Shooter (système de visée)

Publié : 08 Fév 2019 10:20
par Krafter
@ZJP Haha c'est marrant que tu poste ça, c'est la chaine youtube sur laquelle j'ai le plus appris d'unity le gars fait un travail fantastique :-D (mais en l'occurrence l'IK ça a toujours été un peu flou pour moi ^^")