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

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Krafter
Messages : 65
Inscription : 11 Fév 2017 17:03

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

Message par Krafter » 04 Fév 2019 12:13

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.
Dernière édition par Krafter le 05 Fév 2019 10:31, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

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

Message par Max » 04 Fév 2019 19:11

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
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Krafter
Messages : 65
Inscription : 11 Fév 2017 17:03

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

Message par Krafter » 05 Fév 2019 10:28

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&

Avatar de l’utilisateur
ZJP
Messages : 5745
Inscription : 15 Déc 2009 06:00

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

Message par ZJP » 07 Fév 2019 15:47

:-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

Krafter
Messages : 65
Inscription : 11 Fév 2017 17:03

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

Message par Krafter » 08 Fév 2019 10:20

@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 ^^")

Répondre

Revenir vers « (C#) CSharp »