[RESOLU] Stocker une animation dans un scriptable object

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Choiny
Messages : 22
Inscription : 15 Mars 2022 21:45

[RESOLU] Stocker une animation dans un scriptable object

Message par Choiny » 04 Juin 2022 18:54

Bonjour,

J'ai pas mal chercher sur internet mais j'ai pas vraiment compris si c'était faisable ou pas

j'explique le contexte, je fait un jeu ou j'ai un socle (qui est un gameObject) pour installer une machine, et suivant la machine (qui sont des scriptable object) j'aimerais que l'animation en question se joue sur le socle, j'ai très bien réussi a le faire avec une image comme ceci:

Code : Tout sélectionner

Machine1.GetComponent<SpriteRenderer>().sprite = item.image;
mais je pensais qu'on pouvais faire la même chose en remplaçant le <SpriteRenderer> par <Animator> mais j'ai pas réussi

du style suivant: (je ne connais pas la formulation)

Code : Tout sélectionner

Machine1.GetComponent<Animator>().controller = item.anim;
il y a bien un animator sur mon socle (qui est un gameObject)

Voici mon scriptable object:

Code : Tout sélectionner

public class Item : ScriptableObject
{
    public string asset_id;
    public int id;
    public string itemName;
    public int type;
    public string description;
    public int price;
    public int ProductionTime;
    public Sprite image;
    public AnimationClip anim;
}
pour le scriptable j'ai essayé plein de façon et le seul qui a marcher c'est AnimationClip mais je sais pas du tout si c'est la bonne formule

Je sais pas si je suis partie sur la bonne façon de faire, je demande donc votre aide, merci d avance ;)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Stocker une animation dans un scriptable object

Message par boubouk50 » 06 Juin 2022 09:32

Il faut d'abord comprendre les différents objets pour savoir ce que tu dois stocker.
Ici, c'est bien le clip que tu dois stocker, car il contient le clip d'animation à jouer.
L'Animator est l'interface pour contrôler les animations via Mechanim, il ne possède pas d'animation en soi, c'est plutôt un manager.
Le component Animation, quant à lui, serait le player des animations.

Donc dans ton cas, il te faut stocker les AnimationClips, par contre, pour le contrôleur d'animation, ce serait plutôt le component Animation plutôt que Animator à utiliser. Mais là, je ne sais pas ce que tu as fait en soi.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Choiny
Messages : 22
Inscription : 15 Mars 2022 21:45

Re: Stocker une animation dans un scriptable object

Message par Choiny » 06 Juin 2022 19:41

bonjour,

je pense que c'est bien le componement animator dont jai besoin car quand je met manuelement le clip de l anim dans le contrôleur de l animator et que je lance le jeu , il joue bien mon animation, et je peut changer le clip en plein cour de jeu sa marche aussi, ce que j arrive pas a le faire c'est via le script

Image

comment envoyer le clip stocker dans mon scriptable objet dans le contrôleur de l animator?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Stocker une animation dans un scriptable object

Message par boubouk50 » 07 Juin 2022 09:10

Ce n'est pas parce que ça marche que c'est l'unique ou la bonne solution.
Comme dit l'Animator est un contrôleur d'animations utilisé pour Mechanim et L'Animation est un player d'animations, donc normalement Animation est plus adapté à ton besoin de ce que je comprends.
Qui plus est, c'est très simple depuis Animation alors que c'est détourné depuis Animator
puisque tu n'es pas sensé pouvoir le faire.

Sinon j'ai trouvé ça:
https://answers.unity.com/questions/131 ... state.html
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Choiny
Messages : 22
Inscription : 15 Mars 2022 21:45

Re: Stocker une animation dans un scriptable object

Message par Choiny » 07 Juin 2022 20:50

Parfait grace a ton lien (https://answers.unity.com/questions/131 ... state.html)

j'ai reussi , merci ;)

Répondre

Revenir vers « Scripting »