Malheureusement, une ombre "animée", même succinctement, me semble indispensable, sinon ça va faire très cheap et jurer de façon évidente en contraste avec le reste du travail.
Oui, j'ai fait 4 taches qui tournent en boucle. Le résultat est correct mais je ne les ai pas dessinées assez différentes : le mouvement est trop discret. J'en ferai d'autres demain.
la rendre quelque peu plus large que le personnage peut permettre de la décaler légèrement dans le sens opposé à la provenance de la lumière tout en la gardant en contact avec le personnage, permettant d'accentuer discrètement l'aspect ombre portée.
Oui, ça peut marcher.
Sinon Wintermute permet-il de "malmener" les sprites, et notamment de les étirer?
Il faut que je me renseigne, là. Je ne me suis jamais posé la question. Peut-être par script ?
Mais je pense avoir trouver une solution plus simple et passe-partout.
J'ai fait quelques tests avec mes taches. Le résultat est pas mal. J'arrive même à donner très simplement une ombre (vaguement) directionnelle. Je vais peut-être arriver à quelque chose de correct.
Je continue à creuser dans cette direction et je vous fais un rapport détaillé demain, avec des captures d'écran pour avoir votre avis.
Chaque tache correspond à l'une des 8 orientations du personnage : face, dos, les deux profils et les quatre 3/4.
Le principe est simple: sur chaque tache, la grosse ellipse en haut à gauche correspond à l'ombre du corps et de la tête du personnage, tandis que les formes plus fines en bas à droite servent à la relier aux pieds du personnage.
En l'état, chacune de ces taches projette une ombre orientée nord-ouest par rapport au personnage.
L'astuce c'est que l'éditeur de sprite de wintermute permet de faire une symétrie horizontale ou verticale des images.
Donc pour chaque tache, à partir d'une image, je peux obtenir 4 variantes :
Il s'agit de la même ombre orientée nord-ouest, nord-est, sud-ouest et sud-est.
Voilà ce que ça donne avec le personnage :
La différence est subtile mais suffisante pour ne pas faire d'incohérence dans la direction des ombres.
En l'occurrence dans ce décor, les ombres sont orientées sud-ouest donc je choisi la même orientation pour l'ombre du personnage :
(vous pouvez zoommer sur l'image)
Comme l'ombre change d'orientation en fonction des décors (parfois même à l'intérieur des décors), elle ne peut pas être intégrée dans le sprite du perso.
Ça doit être une entité à part.
Mon idée, c'est d'en faire un personnage à part entière qui suit à la trace Mizuka.
Voici en exemple le code utilisé pour l'ombre orientée nord-ouest:
C'est une boucle qui, tous les 10 millisecondes, ordonne ceci :
- l'ombre se positionne aux coordonnées exactes du personnages moins 3 pixels sur l'axe des Y (donc l'ombre apparaîtra derrière le personnage et non par dessus)
- l'ombre est par défaut un sprite animé où se succèdent les 8 ombres (cf la 1ère image) donnant l'illusion d'une ombre animée quand Mizuka marche.
- quand Mizuka cesse de marcher, à la place du sprite animé s'affiche une ombre fixe qui correspond à l'orientation du personnage (face, dos, profil gauche, profil droite, 3/4 dos gauche, ...)
- quand Mizuka recommence à marcher, cette ombre fixe est annulée donc on revient sur le sprite animé.
Donc, en début de chaque scène j'ai juste à lancer le script correspondant à la direction d'ombre souhaitée et tout le reste se fait tout seul !
Je trouve ça super top. Ta méthode est astucieuse, le coup des symétries est bien pensé.
Je ne sais pas si tu as prévu des ajustements supplémentaires. Pour ma part, je trouve que dans la dernière image que tu as postée, l'ombre manque d'opacité par rapport aux autres ombres du décor (elle est trop claire). Je trouve aussi qu'un contour au crayon serait un plus.
Ce n'est qu'un détail, tu me diras. L'idéal serait de voir en mouvement. Attends de savoir ce que les autres en pensent !
Bah moi, je pense pareil!
L'ombre est astucieuse, bon boulot, en revanche effectivement bien trop claire dans cet exemple, il faudrait idéalement obtenir une ombre aussi foncée que celles projetées par le décor.
Un contour autour serait sympa aussi c'est vrai, toujours pour rester au maximum en harmonie avec le reste des ombrages, mais encore ce point me parait moins capital que déjà avoir la bonne opacité (et teinte! mais pour la teinte, sur cette scène, ça parait bon ).
J'aurai bien vu aussi l'ombre un peu plus grosse (pas de beaucoup, genre +10 à +20% peut-être?).
Et puis un point crucial: que se passe-t-il quand Mizuka passe dans un endroit déjà à l'ombre?...
OK, je vais ajuster l'ombre pour qu'elle soit plus sombre.
Là c'est une ombre de base que je ferai varier en intensité et en couleur via le script en fonction des scènes.
Je suis limité par le fait que l'opacité doit être faible pour que le décor apparaisse en transparence mais il y a malgré tout possibilité de s'adapter.
Le contour, c'est compliqué mais pas impossible : je crois qu'il faut que je le fasse en noir très sombre pour qu'une fois l'opacité baissée, il apparaisse gris.
Faire l'ombre plus grosse, ça entraîne une foule de problèmes : quand Mizuka approche d'un bord, l'ombre reste suspendue dans le vide. Quand elle approche d'un mur, l'ombre le transperce...
Quand Mizuka passe dans un endroit à l'ombre, je pense diminuer graduellement l'opacité jusqu'à 0.
C'est un peu récup mais il n'y a pas de solution miracle en 2D.
Si l'ombre est plus grande ça risque d'être visible.
Mais si elle est petite, j'espère que ce sera discret.
Pour l'instant je n'ai pas de décor approprié pour faire un test. Ce sera à voir plus tard.
Voilà, pas de solution miracle mais du bricolage pour obtenir un résultat qui soit à peu près acceptable en toute circonstance.
Si le résultat était parfaitement adapté ici, il serait peut-être totalement déplacé dans la scène suivante.
L'idée étant plutôt d'obtenir un résultat moyen mais passe-partout.
De toute façon, là c'est une base de travail à faire évoluer au cours du développement et grâce à vos avis !
La taille de l'ombre est super. Je trouve le résultat très concluant étant donné les contraintes techniques quand on bosse en 2D.
Je viens de me rendre compte que dans Machinarium ils n'ont mis aucune ombre franche, ni dans les décors, ni sous le personnage. Au contraire, tout me rappelle l'Ambiant Occlusion dont je parlais plus haut. Et sous les robots c'est même une bête tache ovale avec un fondu. Ce que tu as fait est vachement + travaillé !
Bah pour Machinarium, comme tu le fait remarqué, "ils n'ont mis aucune ombre franche, ni dans les décors, ni sous le personnage". Dés lors l'ensemble reste cohérent en terme de rendu de la lumière. Hergé ne mettait le plus souvent aucune ombre porté nulle part, pas grand monde ne le lui a fait remarqué ;).
Mais dés que tu t'attaches à dessiner des ombres très marquées dans les décors, forcément l'absence d'ombre du personnage peut paraitre plus génant. Même si en l’occurrence l'absence d'ombre ne me choquait pas vraiment de prime abord :P.
Sentô, à mon avis, vu les contraintes assez lourdes effectivement, attache-toi au moins je pense à rendre l'ombre de Mizuka aussi sombre que celles projetées par l'environnement. Et ce n'est pas bien grave si on ne devine plus trop les détails du sol en-dessous: ce n'est pas une grosse portion de masquée, et puis c'est de toute façon tout à fait cohérent avec les autres ombres, dans lesquelles également les détails s'avèrent peu visibles.
Je me suis permis...
(l'ombre est en fait plus sombre que la couleur que tu as réellement placée dans l'ombre des décors, mais les ombres des décors sont aussi appuyé par les hachures qui leur donne un rendu global plus foncé, donc ça "compense" ; et dans ce cas l'absence de hachure comme de contour me semble ne pas poser de problème)
Après, je sais pas en fait si c'est forcément mieux??...
Moi je me demandais surtout pourquoi Mizu est en pyjamas sur cette image XD Elle change de vêtements tout au long de l'aventure ? Si oui, c'est vachement classe, bien mieux que d'avoir un héros identique du début à la fin ! (mieux qu'un astronaute en combinaison noire, qu'il pleuve, qu'il vente ou qu'il neige... par exemple)
Le travail effectué me paraît déjà largement bon. Le principal est que le joueur ne s'en rende pas compte, que tout semble cohérent au premier abord.
Et c'est ce qui m'a frappé avec les nouvelles images postées: Mizuka semble parfaitement intégré dans le décor. Au passage, cela me plaît bien comment vous vous êtes déjà approprié le personnage de Mizuka. Vous en parlez comme si c'est un personnage réel. Sympa!
Autre chose qui m'a frappé car je ne connais pas WintermuteEngine. Est-ce vraiment codé avec un langage de programmation? Pas de pseudo code ou grille d'événements?
Oui, j'ai fait 4 taches qui tournent en boucle. Le résultat est correct mais je ne les ai pas dessinées assez différentes : le mouvement est trop discret. J'en ferai d'autres demain.
Oui, ça peut marcher.
Il faut que je me renseigne, là. Je ne me suis jamais posé la question. Peut-être par script ?
Mais je pense avoir trouver une solution plus simple et passe-partout.
J'ai fait quelques tests avec mes taches. Le résultat est pas mal. J'arrive même à donner très simplement une ombre (vaguement) directionnelle. Je vais peut-être arriver à quelque chose de correct.
Je continue à creuser dans cette direction et je vous fais un rapport détaillé demain, avec des captures d'écran pour avoir votre avis.
Eh eh, hâte de voir ça!
(au passage, c'est trop bien de pouvoir discuter ainsi avec des développeurs! Vous êtes les meilleurs! )
Voilà comment j'ai procédé :
J'ai dessiné 8 taches, comme ça :
Chaque tache correspond à l'une des 8 orientations du personnage : face, dos, les deux profils et les quatre 3/4.
Le principe est simple: sur chaque tache, la grosse ellipse en haut à gauche correspond à l'ombre du corps et de la tête du personnage, tandis que les formes plus fines en bas à droite servent à la relier aux pieds du personnage.
En l'état, chacune de ces taches projette une ombre orientée nord-ouest par rapport au personnage.
L'astuce c'est que l'éditeur de sprite de wintermute permet de faire une symétrie horizontale ou verticale des images.
Donc pour chaque tache, à partir d'une image, je peux obtenir 4 variantes :
Il s'agit de la même ombre orientée nord-ouest, nord-est, sud-ouest et sud-est.
Voilà ce que ça donne avec le personnage :
La différence est subtile mais suffisante pour ne pas faire d'incohérence dans la direction des ombres.
En l'occurrence dans ce décor, les ombres sont orientées sud-ouest donc je choisi la même orientation pour l'ombre du personnage :
(vous pouvez zoommer sur l'image)
Comme l'ombre change d'orientation en fonction des décors (parfois même à l'intérieur des décors), elle ne peut pas être intégrée dans le sprite du perso.
Ça doit être une entité à part.
Mon idée, c'est d'en faire un personnage à part entière qui suit à la trace Mizuka.
Voici en exemple le code utilisé pour l'ombre orientée nord-ouest:
C'est une boucle qui, tous les 10 millisecondes, ordonne ceci :
- l'ombre se positionne aux coordonnées exactes du personnages moins 3 pixels sur l'axe des Y (donc l'ombre apparaîtra derrière le personnage et non par dessus)
- l'ombre est par défaut un sprite animé où se succèdent les 8 ombres (cf la 1ère image) donnant l'illusion d'une ombre animée quand Mizuka marche.
- quand Mizuka cesse de marcher, à la place du sprite animé s'affiche une ombre fixe qui correspond à l'orientation du personnage (face, dos, profil gauche, profil droite, 3/4 dos gauche, ...)
- quand Mizuka recommence à marcher, cette ombre fixe est annulée donc on revient sur le sprite animé.
Donc, en début de chaque scène j'ai juste à lancer le script correspondant à la direction d'ombre souhaitée et tout le reste se fait tout seul !
Je trouve ça super top. Ta méthode est astucieuse, le coup des symétries est bien pensé.
Je ne sais pas si tu as prévu des ajustements supplémentaires. Pour ma part, je trouve que dans la dernière image que tu as postée, l'ombre manque d'opacité par rapport aux autres ombres du décor (elle est trop claire). Je trouve aussi qu'un contour au crayon serait un plus.
Ce n'est qu'un détail, tu me diras. L'idéal serait de voir en mouvement. Attends de savoir ce que les autres en pensent !
http://www.theicehouse.fr
Bah moi, je pense pareil!
L'ombre est astucieuse, bon boulot, en revanche effectivement bien trop claire dans cet exemple, il faudrait idéalement obtenir une ombre aussi foncée que celles projetées par le décor.
Un contour autour serait sympa aussi c'est vrai, toujours pour rester au maximum en harmonie avec le reste des ombrages, mais encore ce point me parait moins capital que déjà avoir la bonne opacité (et teinte! mais pour la teinte, sur cette scène, ça parait bon ).
J'aurai bien vu aussi l'ombre un peu plus grosse (pas de beaucoup, genre +10 à +20% peut-être?).
Et puis un point crucial: que se passe-t-il quand Mizuka passe dans un endroit déjà à l'ombre?...
OK, je vais ajuster l'ombre pour qu'elle soit plus sombre.
Là c'est une ombre de base que je ferai varier en intensité et en couleur via le script en fonction des scènes.
Je suis limité par le fait que l'opacité doit être faible pour que le décor apparaisse en transparence mais il y a malgré tout possibilité de s'adapter.
Le contour, c'est compliqué mais pas impossible : je crois qu'il faut que je le fasse en noir très sombre pour qu'une fois l'opacité baissée, il apparaisse gris.
Faire l'ombre plus grosse, ça entraîne une foule de problèmes : quand Mizuka approche d'un bord, l'ombre reste suspendue dans le vide. Quand elle approche d'un mur, l'ombre le transperce...
Quand Mizuka passe dans un endroit à l'ombre, je pense diminuer graduellement l'opacité jusqu'à 0.
C'est un peu récup mais il n'y a pas de solution miracle en 2D.
Si l'ombre est plus grande ça risque d'être visible.
Mais si elle est petite, j'espère que ce sera discret.
Pour l'instant je n'ai pas de décor approprié pour faire un test. Ce sera à voir plus tard.
Voilà, pas de solution miracle mais du bricolage pour obtenir un résultat qui soit à peu près acceptable en toute circonstance.
Si le résultat était parfaitement adapté ici, il serait peut-être totalement déplacé dans la scène suivante.
L'idée étant plutôt d'obtenir un résultat moyen mais passe-partout.
De toute façon, là c'est une base de travail à faire évoluer au cours du développement et grâce à vos avis !
La taille de l'ombre est super. Je trouve le résultat très concluant étant donné les contraintes techniques quand on bosse en 2D.
Je viens de me rendre compte que dans Machinarium ils n'ont mis aucune ombre franche, ni dans les décors, ni sous le personnage. Au contraire, tout me rappelle l'Ambiant Occlusion dont je parlais plus haut. Et sous les robots c'est même une bête tache ovale avec un fondu. Ce que tu as fait est vachement + travaillé !
http://www.theicehouse.fr
Bah pour Machinarium, comme tu le fait remarqué, "ils n'ont mis aucune ombre franche, ni dans les décors, ni sous le personnage". Dés lors l'ensemble reste cohérent en terme de rendu de la lumière. Hergé ne mettait le plus souvent aucune ombre porté nulle part, pas grand monde ne le lui a fait remarqué ;).
Mais dés que tu t'attaches à dessiner des ombres très marquées dans les décors, forcément l'absence d'ombre du personnage peut paraitre plus génant. Même si en l’occurrence l'absence d'ombre ne me choquait pas vraiment de prime abord :P.
Sentô, à mon avis, vu les contraintes assez lourdes effectivement, attache-toi au moins je pense à rendre l'ombre de Mizuka aussi sombre que celles projetées par l'environnement. Et ce n'est pas bien grave si on ne devine plus trop les détails du sol en-dessous: ce n'est pas une grosse portion de masquée, et puis c'est de toute façon tout à fait cohérent avec les autres ombres, dans lesquelles également les détails s'avèrent peu visibles.
Je me suis permis...
(l'ombre est en fait plus sombre que la couleur que tu as réellement placée dans l'ombre des décors, mais les ombres des décors sont aussi appuyé par les hachures qui leur donne un rendu global plus foncé, donc ça "compense" ; et dans ce cas l'absence de hachure comme de contour me semble ne pas poser de problème)
Après, je sais pas en fait si c'est forcément mieux??...
Moi je me demandais surtout pourquoi Mizu est en pyjamas sur cette image XD Elle change de vêtements tout au long de l'aventure ? Si oui, c'est vachement classe, bien mieux que d'avoir un héros identique du début à la fin ! (mieux qu'un astronaute en combinaison noire, qu'il pleuve, qu'il vente ou qu'il neige... par exemple)
http://www.theicehouse.fr
Le travail effectué me paraît déjà largement bon. Le principal est que le joueur ne s'en rende pas compte, que tout semble cohérent au premier abord.
Et c'est ce qui m'a frappé avec les nouvelles images postées: Mizuka semble parfaitement intégré dans le décor. Au passage, cela me plaît bien comment vous vous êtes déjà approprié le personnage de Mizuka. Vous en parlez comme si c'est un personnage réel. Sympa!
Autre chose qui m'a frappé car je ne connais pas WintermuteEngine. Est-ce vraiment codé avec un langage de programmation? Pas de pseudo code ou grille d'événements?
Bonne continuation.
Conceptgame
Pages