|
Screenshot dans Game ! |
|
---|---|---|
Fou Furieux du Clan
![]() ![]() Inscrit:
22/04/2008 12:58 Post(s): 178
|
Salut à tous
Voila je suis intéressé par la fonction "makeScreenshot" de python. (voir ici: http://www.blender.org/documentation/249PythonDoc/GE/Rasterizer-module.html#makeScreenshot ) Probleme: le premier sceenshot marche ok! mais le deuxieme écrase le premier. Apparement, mettre un # dans le nom (ex: makeScreenshot(filename#) rajoute le numero de la frame en cour apres le nom... et c'est quoi les parametre (ou l'indiquer?): Parameters: filename (string) ======================= voici le code: import Rasterizer Rasterizer.makeScreenshot ("filename#") (tout ça sur un sensor et un actuator) ============================== voila les solution que j'imagine: -soit faire avancer la frame1 à la frame2 etc ...mais j'y arrive pas! -soit connaitre une astuce pour nommer automatiquement un numero apres le nom.. bref -ou alors, le parametre "string" ..que je ne comprend pas. merci d'avance pour votre aide les amich! :)
Contribution le : 18/01/2014 23:20
|
|
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
28/09/2013 19:04 De Montpellier
Post(s): 1041
|
Salut!
Voici un exemple: capture (là j'ai fait en sorte qu'à chaque clic gauche de la souris une capture soit prise et stockée dans le répertoire de Blender normalement...) ![]()
Contribution le : 18/01/2014 23:49
|
|
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
21/08/2013 19:12 De CH [+]
Post(s): 1558
|
Salut,
Ta doc est un peu vieille... A moins que tu ne bosses encore sur 2.49, la version actuelle est ici: http://www.blender.org/documentation/blender_python_api_2_69_release/bge.render.html#bge.render.makeScreenshot Elle indique ceci:
En résumé, la fonction makeScreenshot prend un paramètre, filename, lequel est de type string (chaîne de caractères, du texte, quoi!). Il est précisé que s'il commence par "//", alors le dossier de sauvegarde de l'image est le courant; si il contient le placeholder "#", ce dernier sera remplacé par le numéro de frame. Après test, il semble effectivement que "#" ne soit pas supporté... Aucune idée pourquoi... (l'exemple de youle te donne des pistes de workaround) Par contre, je ne sais pas si c'est clair pour toi, mais tu peux remplacer le nom "filename" par n'importe quoi, genre "capture_ecran" ou "superbePhoto"... ![]() Cela donnerait par exemple:
(tu peux ajouter une extension si tu veux la préciser, mais avec l'avertissement de la doc...) Petite note, même si l'écriture
est encore supportée, il est mieux de passer par la version actuelle
au pire, et pour des questions de compatibilité rétrograde notamment, tu peux écrire
pour ne pas avoir à tout modifier. En bref, je répond pas à ta question, mais j'espère un peu t'aider dans ta recherche... ![]()
Contribution le : 19/01/2014 00:32
|
|
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons Développeur Blender quand j'en ai le temps... ![]() |
||
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
23/02/2012 07:35 Post(s): 563
|
La méthode de youle a un "léger" inconvénient (disons qu'elle n'est pas complète) : on prend "photo<une varriable incrémentée à chaque prise". Si on redémarre le jeu, qu'on prend une photo, les anciennes images seront écrasées !
Du coup il faut faire un truc comme ça:
On a ainsi la variable initialisée correctement ! Le reste a déjà été dit. Du coup le script "complet": makeScreenShot.py:
Dès qu'on exécute le code, ça prend un screenshot. On pourrait très bien imaginer mettre la date et l'heure dans le nom (comme ça chaque screenshot aura bien un nom unique). P.-S. : oui, n'utilisez plus le Rasertizer, c'est bge.render maintenant.
Contribution le : 19/01/2014 14:59
|
|
_________________
Livre libre : http://fr.flossmanuals.net/blender-pour-le-jeu-video/introduction/ |
||
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
21/08/2013 19:12 De CH [+]
Post(s): 1558
|
Lis mon message!
![]() Ça force l'enregistrement dans le dossier courant (i.e. celui où est enregistré le .blend). Petite remarque de bas de page (hum...) qui me traverse l'esprit, je sais pas ce qui se passe lors de l'appel d'un autre fichier pendant le jeu... ou lors de l'utilisation d'un exe... probablement l'emplacement du fichier utilisé au moment précis de l'enregistrement est-il pris... mais j'en sais rien.
Contribution le : 19/01/2014 20:12
|
|
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons Développeur Blender quand j'en ai le temps... ![]() |
||
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
21/08/2013 19:12 De CH [+]
Post(s): 1558
|
Ouais j'ai bien reçu ton MP. Mais par message, j'entendais mon post ci-dessus (#3)...
'Faut vraiment que j'arrête avec les dénominations ambiguës, je dois bientôt expliquer chacun de mes posts... ![]() EDIT: pour l'histoire de la capture via exe/standalone, ça doit marcher sans problème (mais seulement avec extension .png, cf. doc ci-dessus). Mon interrogation portait sur l'emplacement en cas d'utilisation d'une brique Game -> Start Game from File, dans quel cas je ne sais pas si l'emplacement est celui du fichier maître (celui qui a été lancé au départ, qu'il soit compilé ou non) ou celui du secondaire, lancé depuis le premier. ![]()
Contribution le : 19/01/2014 20:48
|
|
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons Développeur Blender quand j'en ai le temps... ![]() |
||
![]() ![]() |
|
Re: Screenshot dans Game ! |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
21/08/2013 19:12 De CH [+]
Post(s): 1558
|
Citation :
Pas de problème! J'ai encore la 2.49 qq part, je vais essayer et je vous redit (éventuellement tester la 2.47 pourrait être utile, je verrai.) Je voudrais pas te "lancer là-dessus", mais si tu pouvais juste répondre: est-ce que tes bonnes raisons sont également valable contre un simple changement de 2.47 à 2.49? Citation : et à l'occas' je passe à la 2.62 2.62? A nouveau, y a-t-il des "bonnes raisons" pour ne pas prendre qqch de plus up-to-date? Si déjà l'interface est +- commune à toute la série 2.5./2.6/2.7? Pourquoi ce choix précis de la 2.62? ...Désolé pour ces questions malgré ton avertissement, mais cela m'intrigue. Si rester à la 2.4x est sans aucun doute légitime et défendable (je ne mets aucunement en doute tes bonnes raisons), ces choix précis de 47 et 62 ont de quoi interpeller... ![]()
Contribution le : 19/01/2014 21:05
|
|
_________________
BAddons, La Collection d'Addons de Matpi: https://github.com/qwenger/BAddons Développeur Blender quand j'en ai le temps... ![]() |
||
![]() ![]() |