[RESOLU]LookAt Bone et animator

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

[RESOLU]LookAt Bone et animator

Message par Maki-Sama » 04 Avr 2019 21:12

Bonjour à tous :hello: ,

pour faire court, j'ai créer un personnage et je voudrais qu'il suive un objet de la tête, mais durant une animation (exécutée par l'animator).

Mais voilà, cela ne marche pas. Mon personnage continue son animation sans se préoccuper de l'objet. :-|

Voilà le script que j'ai utilisé, ainsi qu'une image de ma fenêtre Unity.

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookAtPlayer : MonoBehaviour {

    public Transform Target;
    public bool TargetActiv = false;

    public Animator Ani;
    public Transform Head;

    public Vector3 Offset;

    
	
    void Start()
    {
        Head = Ani.GetBoneTransform(HumanBodyBones.Head);
    }

	void Update ()
    {
        if(TargetActiv == true)
        {
            Head.LookAt(Target.position);
            Head.rotation = Head.rotation * Quaternion.Euler(Offset);
        }
        
    }
}
L'objet à suivre étant la sphère et l'animator ouvert étant celui de mon personnage (je pense que vous l'aurez deviné)

J'ai tenté de glisser l'élément "Head" (dans la hiérarchie de DAN) jusque dans la variable "Head" de mon script, malheureusement mon personnage ne suit toujours pas la sphère.

Même changer le nom de l'élément dans la hiérarchie n'a rien changé (qu'il soit majuscule ou minuscule).

Merci par avance de vos réponses.
Pièces jointes
Problème IK.png
Problème IK.png (388.49 Kio) Consulté 3255 fois
Dernière édition par Maki-Sama le 06 Avr 2019 21:57, édité 1 fois.

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

Re: LookAt Bone et animator

Message par Max » 04 Avr 2019 22:13

Bonjour,

Un peu comme pour ce récent sujet: viewtopic.php?f=2&t=16653
je dirais que la solution se trouve dans l'Inverse Kinematics.
La doc, avec un script tout fait qui devrait correspondre à ce que tu cherches.
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

Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

Re: LookAt Bone et animator

Message par Maki-Sama » 06 Avr 2019 12:10

Salut Max,

merci pour ta réponse. J'étais déjà allé sur cette page mais pour une raison que je ne comprenais pas, je ne parvenais pas à faire fonctionner le script :mrgreen: .
Cependant, après avoir regardé beaucoup plus attentivement, j'ai trouvé.

Il fallait que je change le type d'animation de "Generic" à "Humanoid" (comme ci-dessous), que je configure l'avatar de mon personnage et que je lui crée un mask d'avatar.

Et maintenant cela fonction, il tourne bien la tête durant l'animation.

C'est super tu me diras, mais en fait NON. Car le fait de change le type d'animation me donne un autre problème. :pleur4:

Le bone "Fixebody" est prit en point central, ce qui fait que au lieu de bouger le bassin, ce dernier reste à sa position et c'est les jambe qui bougent.
Et malheureusement, je je ne vois pas comment rectifier cela.
.
Animation type.png
Animation type.png (23.2 Kio) Consulté 3187 fois

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

Re: LookAt Bone et animator

Message par Max » 06 Avr 2019 13:26

Hello,

On rencontre souvent ce genre de soucis en passant le type d'animation de "Generic" à "Humanoid".
Après perso, je ne suis pas un pro niveau rig, pas sûr d'être en mesure de mieux t'aider.
As-tu essayé de passer par l'écran de configuration pour voir ?
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

Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

Re: LookAt Bone et animator

Message par Maki-Sama » 06 Avr 2019 14:29

Je suis déjà passé par cette fenêtre là et le bone "Fixebody" est à la bonne place.

Mais j'ai peut être une idée, je vais tester et je dirai le résultat.

Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

Re: LookAt Bone et animator

Message par Maki-Sama » 06 Avr 2019 17:31

C'est bon,

j'ai fait mon test et j'ai réussi :)

En fait c'est parce que j'ai modifier le squelette de mon personnage avant même de l'importer.
Et je me servait du bone "FixeBody" comme IK (juste en le baissant, les jambes se pliaient toutes seules).

Du coup, vu qu'il bouge dans l'animation, Unity n'arrivait pas à trouver de Bone fixe pour bloquer la position du corps.
(Qu'il soit parent du bone "root" ou non) X(

Pour y remédier, j'ai donc ajouter derrière "Fixebody" un nouveau bone que j'ai appelé "BodyLock"
(En fait c'est un duplicata du bone "root", je l'ai mis derrière "FixeBody" mais j'aurais pu le mettre n'importe où)
Et de ce fait, Unity le prend comme centre fixe du personnage.
.
BodyLock.png
BodyLock.png (377.79 Kio) Consulté 3138 fois
Et puis voilà ::d

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

Re: LookAt Bone et animator

Message par Max » 06 Avr 2019 17:41

Cool, t'as creusé, t'as trouvé, c'est parfé :mrgreen:

(merci pour le retour)
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

Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

Re: LookAt Bone et animator

Message par Maki-Sama » 06 Avr 2019 20:11

En fait rectification, un nouvel élément vient de tout changer.

Le bone que je viens de rajouter ne sert à rien :pleur4:
Le problème de FixeBody n'est présent seulement quand "Apply root motion" n'est pas coché dans l'onglet Animator.

Cependant, le nouvel élément et le "rigidbody".
Lorsque que j'ajoute ce composant, mon personnage commence à gravité, il monte tout doucement de plus en plus haut.

Et c'est en rapport avec "Apply root motion" car quand je le décoche, mon perso retombe mais du coup le problème de "Fixebody" revient.

J'avoue, je suis complètement paumé 8/

Avatar de l’utilisateur
Maki-Sama
Messages : 36
Inscription : 12 Mars 2018 21:00

Re: LookAt Bone et animator

Message par Maki-Sama » 06 Avr 2019 21:48

C'est bon enfin :gene:

J'ai pu trouver la solution à ce lien :

https://adventurecreator.org/forum/disc ... ot-working

Il fallait juste mettre root ici (image) et dans animator, décocher "Apply root motion"
.
Résolu.png
Résolu.png (59.04 Kio) Consulté 3106 fois
Merci encore pour le coup de main :super:

Répondre

Revenir vers « Scripting »