Open alexylem opened 7 years ago
Thanks @physicien for referencing the Cherry-Project repo: https://github.com/Cherry-project/primitiveWS I'll try to install and test it out if it cannot at least generate the animations we need.
@tchoul, @tigre-bleu, @Jean-Bernard-Hallez, @Lusitanos67, @wikijm, @takanato, @MulhollandDr Worst case I have found this very nice online tool to create 4 frames led-matrix like animations: http://walsh9.github.io/super-micro-paint/ You can export them as Gif, and it's open source!
Example of animation I quickly created for neutral state: With other themes: Even custom colors:
If you guys are interested, we can all agree on:
Here is the edit link for the face: http://walsh9.github.io/super-micro-paint/#AD_-AAB39wAAY-MAAMABgADePYAAwAGAAd69wAFMmUABQIFAAMCBgABBgQAAQAIAACPEAAAQCAAACBA~AfgAA.AD_-AAB39wAAY-MAAMABgADePYAAwAGAAd69wAFMmUABQIFAAMCBgABBgQAAQAIAACPEAAAQCAAACBA~AfgAA.AD_-AAB39wAAY-MAAMABgADePYAAwAGAAd69wAFMmUABQIFAAMCBgABBgQAAQAIAACPEAAAQCAAACBA~AfgAA.AD_-AAB39wAAY-MAAMABgADePYAAwAGAAcCBwAFevUABQIFAAMCBgABBgQAAQAIAACPEAAAQCAAACBA~AfgAA (for some reason the last line gets corrupted)
Ahhh... et pour ceux qui ont construit leur raspberry pi case en lego...
Speaking
Très sympa tout ça (et le lego :+1: ).
Pour ma part j'ai un peu changé mon fusil d'épaule :
Ca donne ça par exemple :
Prochaine étape :
J'adore ce que vous faites tous !!!!!
@MulhollandDr wouaaaaah! qd tu auras les animations minimum, tu pourras partager ton personnage avec un pull request sur le repo? (ou m'envoyer ton dossier si tu sais pas faire). Je continue d'avancer sur mon visage basique.
Je viens de committer un nouveau visage par défaut en attendant vos contributions. J'enlèverai cortana sous peu.
Merci @alexylem Cette denière mise à jour "fluorescent" et avec mon 3"5 fonctionne très bien... enfin !!!! YES !!!! et c'est beaucoup plus fluide... je supprime cortana...
Il y a t-il une solution pour cacher la barre d'outils de l'interface graphique afin que le visage recouvre 100% de l'écran ?
c'est beaucoup plus fluide
Oui car l'animation n'a que 4 images bien espacées.
Il y a t-il une solution pour cacher la barre d'outils de l'interface graphique afin que le visage recouvre 100% de l'écran ?
@Jean-Bernard-Hallez Une photos m'aiderait à comprendre ce que ca te donne en ce moment. Merci.
@alexylem Bonjour, j'ai aucune idée de comment ouvrir un pull request proprement du coup je veux bien t'envoyer ce que j'ai pour le moment mais comment je te fais parvenir ça ?
@MulhollandDr Voici un lien qui pourrait t'aider pour utiliser GitHub : https://help.github.com/categories/collaborating-with-issues-and-pull-requests
@MulhollandDr Il me semble que depuis ton installation de Jarvis tu ne pourras pas. Il te faut "Forker" le repo sur ton compte Github, rajouter les fichiers et faire un Pull Request. En gros:
Bon j'ai tenté un truc ... si c'est pas ça fusillez moi :-)
Hélas @MulhollandDr, je ne pense pas que cela ai marché. Si ça avait été le cas, on aurait ta pull request de visible ici.
Bon après quelques essais, pour coller à l'idée d'une face à la Cozmo je peux proposer une série dans ce style :
Pour le coup c'est du 100% fait maison donc tout est modifiable.
@MulhollandDr C'est pas mal du tout :) ca serait possible de:
Alors :
Donc avec plus d'arrondis, moins de réverbération et moins de 3D ça donne ça pour le moment :
Je trouve que cette version est bien meilleure que la première donc hésites surtout pas à proposer d'autres trucs.
Je suis curieux, avec quoi fais-tu ces animations?
J'utilise Blender pour créer la scène et animer. J'utilise GIMP pour faire le gif.
@MulhollandDr génial comme ca! Juste je trouve dommage qu'il y ait un halo, pas seulement d'un point de vue esthétique mais aussi pour le poids final du GIF. C'est possible de l'enlever complètement?
Est ce que l'on pourrait définir la liste des expressions faciales, émotions et animations à créer ? Ainsi, chacun pourra faire sa propre version tout en étant sûr de pouvoir l'intégrer dans le plugin.
Une piste à explorer pour créer des animations : Création d'animations avec des logiciels libres
@wikijm C'est effectivement Blender que j'utilise pour l'animation (il est dans la liste). C'est un outil que je connais et que j'utilise de temps en temps. Le gros avantage c'est qu'il permet de créer une animation sans passer par du frame par frame et permet donc un gain de temps considérable. Pour exemple sur le gif ci dessous il y a une soixantaine de frames. J'aurais pu les faire une par une avec un logiciel de dessin mais c'est long, peu précis et il faut être bon dessinateur. Avec Blender je n'ai qu'à régler 8 positions pour obtenir la même animation. Blender se charge ensuite du découpage frame par frame.
@alexylem Voici le résultat sans halo (c'était juste un problème de background à éloigner en fait). Pour ce qui est du poids, j'ai pas touché aux dimensions du gif pour le moment. Je ne sais pas quelle taille serait optimale, mais si c'est plus petit ça fera toujours ça de moins.
@wikijm Pour ce qui est des émotions, il faudrait peut-être penser à comment choisir celle à exprimer. Actuellement, Jarvis utilise des hooks afin de choisir, mais si on veut rendre la chose plus intéressante, l'implantation d'un agent émotionnel serait approprié. Après, je pense que cet ajout devrait se faire non dans le plug-in, mais dans le core de Jarvis, car il peut être utile pour les évolutions futures d'avoir un accès au choix des émotions pour tout Jarvis, que ce soit pour l'interaction avec différents utilisateurs ou pour ajouter un peu de "personnalité" à Jarvis.
@MulhollandDr il y a toujours un halo, un genre de cercle qu'on voit au début et à la fin. Pas moyen de l'enlever complètement? Sinon c'est une super piste!
@wikijm @physicien la liste des animations/émotions est potentiellement infinie. Le plugin utilises les animations pour les hooks standards mais n'importe qui peut en créer / appeler de nouvelles depuis les commandes / autres plugins grâce à la fonction:
pg_face_state "<animation folder name>" &
Voici la liste des animations de base (pas toutes utilisées), mais je pourrai en rajouter:
L'implémentation d'un agent émotionnel serait intéressant, mais uniquement utile si derrière le visage est généré dynamiquement par rapport à ces paramètres. L'approche actuelle est plus simple et se base sur des simples GIF, ce qui permet d'afficher des animations qui n'ont pas de rapport avec l'émotion, comme des actions par exemple:
@alexylem Effectivement en regardant de plus près je le vois aussi. Je corrigerai demain.
En fait, pour expliquer un peu, ce sont les yeux qui émettent de la lumière, le halo vient de la réflexion sur le fond. Si les yeux n'émettaient pas de lumière, l'image serait entièrement noire on ne verrait rien. (Blender fonctionne comme une pièce sans fenêtre ni porte, si tu ne places pas de sources de lumière tu ne peux rien voir). Si j'ajoute une source de lumière externe, le fond noir devient plus clair là où il est illuminé et je ne pense pas que ça soit l'effet recherché ici.
Normalement là ça devrait le faire.
Je me suis rendu compte de deux choses :
Si tout est bon j'essaierai de proposer une série d'animations en reprenant l'architecture actuelle du dossier.
C'est parfait! Peut-être que tu pourrais proposer une couleur un peu différente de celle utilisée par Cozmo? Je te conseille aussi de faire des GIF plus petits, pas les yeux, mais surtout moins de contours car on peut le centrer sur l'écran avec la config du plugin. Merci pour ton boulot j'ai hâte de voir le résultat!! :+1:
@alexylem Je vais regarder ce que je peux faire et au pire, je ferai un fork avec agent émotionnel (juste à avoir des états de transitions serait probablement assez à mon avis). Bref, je reviens avec ça si ça fonctionne (et quand j'aurai le temps).
@MulhollandDr Possible d'avoir le fichier d'animation de Blender? On pourrais ainsi aider à générer des animations et, dans mon cas, apprendre comment bien utiliser Blender sur le tas.
@alexylem Pour la taille si tu veux une tête carrée ça peut donner ça :
Sinon on reste sur du rectangle en réduisant un peu les marges sur les côtés.
Pour la couleur, absolument toutes les couleurs et nuances sont possibles alors je peux proposer quelques essais persos mais si vous avez des suggestions je prends.
@physicien Bien sûr. Je laisserai un fichier Blender propre une fois qu'on sera bien fixé sur les dimensions/positions/couleurs, comme ça tout le monde pourra animer à partir d'une base commune. Ca te conviendrait comme ça ? (Et si tu veux commencer à te familiariser avec blender voilà le fichier actuel)
@MulhollandDr Merci, ça me convient parfaitement. Je vais voir comment faire des animations et essayer des choses.
Quelques essais couleurs :
(Les images ne sont pas centrées mais ça sera corrigé par la suite.)
J'aime bien le blanc, simple et efficace. Sinon pourquoi pas la couleur rouge du logo Raspberry:
Bien vu ! Je ferai un essai avec.
Donc voici la shortlist : blanc ou raspberry ?
@MulhollandDr Que penses-tu de ça :
Le gars propose des tutos afin d'animer un personnage LEGO, et mets à disposition des éléments de visage :
Sinon, dans un style moins attaché à une marque et un produit commercial : https://cgi.tutsplus.com/tutorials/how-to-rig-a-2d-character-in-blender-for-cut-out-animation-or-explainer-videos-part-1--cms-26159
Ou alors encore plus fou (Animer un personnage 2D avec facial tracking) : https://helpx.adobe.com/fr/adobe-character-animator/how-to/adobe-character-animator.html
Inconvénient : Utilisation d'un logiciel propriétaire (Adobe) qui deviendra certainement payant par la suite (actuellement en Beta).
@wikijm J'en pense que c'est la même méthode que pour animer deux yeux mais c'est appliqué à des LEGOs (donc pas vraiment ce qu'on cherche ici). Evidemment on pourrait utiliser la même méthode pour animer notre propre visage mais ça pose toujours le même problème : celui du dessin. Si quelqu'un ici sait dessiner et peut proposer des dessins originaux l'animation n'est pas un problème.
Pour ce qui est de l'animation d'un petit perso en 2D c'est la même méthode que celle utilisée pour le perso 3D que j'avais montré :
En gros tu poses un squelette plus ou moins complexe sur ton perso et tu animes. C'est pas très compliqué a mettre en place surtout sur un perso 2D mais on en revient toujours au même problème de départ à savoir : je ne sais pas dessiner. Donc si quelqu'un sait dessiner y'aura pas de problème pour l'animer.
Pour la méthode Adobe Character Animator c'est une alternative si quelqu'un possède les outils Adobe qui vont avec. Et encore une fois, le talent pour dessiner le visage.
(pour ce qui est de l'animation des "yeux", je n'ai pas laissé tomber, j'ai simplement un peu plus de boulot en ce moment et donc moins de temps à consacrer à tout ça. Mais les premières animations ne devrait pas trop tarder à arriver.)
Merci pour ce retour. Je vais essayer de travailler les yeux+bouches LEGO directement en GIF.
@MulhollandDr pour en revenir à tes propositions, je n'arrive pas à me décider. J'aime bien les blancs ca fait simple, mais aussi peu de personnalité... toi tu en penses quoi?
Quelques exemples en LEGO-style fait avec http://gifcreator.me/ :
_Startnoloop _Exitnoloop Neutral Speaking Thinking
Pull request liée : https://github.com/alexylem/jarvis-face/pull/9
@alexylem Assez d'accord avec toi sur le manque de personnalité du blanc ... mais aussi d'accord pour dire que les autres couleurs ne me parlent pas d'avantage. Je vais avancer sur les animations avec le blanc (on pourra modifier après). Pour l'aspect, je vais voir si on peut pas obtenir un peu plus de cachet en jouant sur des textures ou quelque chose comme ça.
@wikijm mes enfants ont adoré ton visage lego, je te dis pas l'hystérie!! Par contre ca a crashé car il n'y a pas d'image pour le dossier neutral/
qui est d'ailleurs inexistant pour le moment. Tu pourrais le rajouter dans un PR?
J'ai aussi viré un fichier système Thumb
qui faisait planter Jarvis car pas une image gif
.
Merci!
@alexylem Je ferais attention à ne pas remettre le "Thumbs.db" au prochain PR :sweat:
Une préférence particulière pour la création du neutral
?
EDIT : C'est fait (voir https://github.com/alexylem/jarvis-face/pull/10) 😄 Si intéressé, je peux fournir les sources (.PSD entre autre).
merged, merci 👍
Plugin parfait! J'ai juste une question a poser? Quand le Cron se met en route le visage reste en mode " speaking"... même après que le message dit dans le Cron soit fini...... il passe en speaking en continu... Que peut on faire ou rajouter dans Cron pour qu'il revienne sur le mode "neutral"? Ou si jamais, j'ai l'intention de passer tout mes Cron sur lecture de fichier .sh.... y'aurai t'il une commande a insèrer dans le fichier .sh pour qu'il retombe chaque fois sur le mode "neutral"? merci d'avance Cordialement
Today Jarvis ships with default images from Cortana: This was for testing / demo purposes and I want to change this as those great animations are not ours. I'm looking for skilled people to advised how we could easily create new animations that will be the default face of Jarvis. I would like to start simple and for example come up with 2 animated eyes like what Cozmo has: The only way that I know to achieve this is to create a webpage with parameters to generate css3 animations for two rounded boxes and record the animations to GIFs. This can be quite flexible to create any kind of animation / colors but as it may take quite some time to create, I'd like to check with you what do you think and if you have other ideas / options.
Alternatively, I was thinking on launching a contest via the website and the best face would win a Raspberry Pi or something equivalent (As Jarvis is free and open source, I can't offer more than this 😞 )
Thanks!