[RESOLU] Rotation upper body Third Person Shooter (système de visée)
Publié : 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.
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.