Bonjour à tous, j'espère que vous avez prévu de passer de bonnes fêtes.
Comme j'ai quelques interrogations, je me permets de vous en faire part :
Sachant que j'anime plusieurs sprites dans un empty, je voulais savoir s'il est possible de ne pas avoir à refaire toute une animation lorsqu'on ne veut en changer qu'un seul élément par exemple en cas de personnalisation. J'ai un personnage qui marche et je peux changer son pantalon, me faut-il refaire l'animation de l'élément changé ou y-a-t-il un moyen pour que je ne change que cet élément en sachant que le nouveau pantalon a forcément les mêmes dimensions (à quelques pixels prêt).
D'une autre manière, peut-on le faire en programmation ? Remplacer dynamiquement le pantalon du personnage y compris dans ses animations ?
Enfin, si pour des raisons de performance je dois réduire la taille des PNG que j'anime (les sprites donc), est-il possible de redimensionner l'animation pour l'adapter à la nouvelle taille des sprites ? Ou faudra-t-il que je replace tout comme il faut à la main ?
D'avance je vous remercie pour vos réponses, couvrez vous bien parce que fais froid ! (et puis surtout je ne l'ai pas fait et me voilà enrhumé maintenant...)
Changer un sprite d'une animation 2D
Changer un sprite d'une animation 2D
Dernière édition par Didjynn le 22 Déc 2016 12:33, édité 1 fois.
- boubouk50
- ModoGenereux
- Messages : 6215
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Changer un sprite d'une animation 2D
L'animation est gérée comment? Si tu changes seulement la texture du sprite, toutes les animations du sprite (gameObject) resteront. Si l'animation est dans la texture de sprite (animation de texture) alors il te faut forcément faire cette animation pour le nouveau pantalon dans la texture de sprite.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Changer un sprite d'une animation 2D
merci pour la réponse
Je crée un empty dans lequel je pose mes sprites et les anime. Je suppose donc que je ne modifie pas directement les sprites (enfin, j'espère).
Après aurais-tu une idée pour mon histoire de redimensionnement ?
Merci encore !
Je crée un empty dans lequel je pose mes sprites et les anime. Je suppose donc que je ne modifie pas directement les sprites (enfin, j'espère).
Après aurais-tu une idée pour mon histoire de redimensionnement ?
Merci encore !
- boubouk50
- ModoGenereux
- Messages : 6215
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Changer un sprite d'une animation 2D
Il ne faut pas confondre la dimension de la texture et taille du Sprite.
Un sprite de 200x200 pixel (taille du gameObject: RectTransform) gardera sa taille de 200x200 avec une texture 512x512 ou 64x64.
Un sprite de 200x200 pixel (taille du gameObject: RectTransform) gardera sa taille de 200x200 avec une texture 512x512 ou 64x64.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Changer un sprite d'une animation 2D
Merci pour cette réponse bien que je ne sois pas certain d'avoir bien compris.
Il faudrait donc que je crée un empty pour chaque sprite, que j'anime l'empty et que je change le sprite à l'intérieur au besoin ?
Je me suis également demandé comment je pourrais me débrouiller pour l'optimisation (24 éléments par perso, ça fait peut être un peu beaucoup pour le pc et encore plus si je veux un jour rendre ce jeu jouable sur téléphone).
Pour le moment, je n'ai toujours qu'un empty dans lequel j'ai tous mes sprites que j'anime ensuite directement dans la scène de unity (un peu comme un automate, j'ai découpé mes personnages à chaque articulation et comme je trouve le rendu sympathique et qu'il y aura de la personnalisation, je ne vois pas comment faire autrement).
Je vous remercie d'avance pour votre temps,
Une bonne année avec quelques heures d'avance !
Il faudrait donc que je crée un empty pour chaque sprite, que j'anime l'empty et que je change le sprite à l'intérieur au besoin ?
Je me suis également demandé comment je pourrais me débrouiller pour l'optimisation (24 éléments par perso, ça fait peut être un peu beaucoup pour le pc et encore plus si je veux un jour rendre ce jeu jouable sur téléphone).
Pour le moment, je n'ai toujours qu'un empty dans lequel j'ai tous mes sprites que j'anime ensuite directement dans la scène de unity (un peu comme un automate, j'ai découpé mes personnages à chaque articulation et comme je trouve le rendu sympathique et qu'il y aura de la personnalisation, je ne vois pas comment faire autrement).
Je vous remercie d'avance pour votre temps,
Une bonne année avec quelques heures d'avance !
- boubouk50
- ModoGenereux
- Messages : 6215
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Changer un sprite d'une animation 2D
Tu as donc créé une hiérarchie d'éléments. Du coup, pour changer un sprite pas de souci de compatibilité avec l'animation (L'animation est stockée dans le transform, pas dans la texture).
Il te suffit donc de changer la texture de tes sprites sur les bons éléments au moment voulu.
Sur le forum, il y a beaucoup de posts sur le changement de sprite au runtime. Tu trouveras la solution avec un peu de recherche.
Il te suffit donc de changer la texture de tes sprites sur les bons éléments au moment voulu.
Sur le forum, il y a beaucoup de posts sur le changement de sprite au runtime. Tu trouveras la solution avec un peu de recherche.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation