(1) 2 »


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
Créer un fichier PDF de la contribution Imprimer


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...) Ou sinon sur le bureau... Enfin, dans le répertoire courant quoi...

Contribution le : 18/01/2014 23:49
Créer un fichier PDF de la contribution Imprimer


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:

 bge.render.makeScreenshot(filename)

    Writes a screenshot to the given filename.

    If filename starts with // the image will be saved relative to the current directory.
    If the filename contains # it will be replaced with the frame number.

    The standalone player saves .png files.
    It does not support color space conversion or gamma correction.

    When run from Blender, makeScreenshot supports all Blender image file formats like PNG, TGA, Jpeg and OpenEXR.
    Gamma, Colorspace conversion and Jpeg compression are taken from the Render settings panels.


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:
Rasterizer.makeScreenshot("//maphoto")

(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

import Rasterizer


est encore supportée, il est mieux de passer par la version actuelle

import bge.render


au pire, et pour des questions de compatibilité rétrograde notamment, tu peux écrire

import bge.render as Rasterizer


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...

Créer un fichier PDF de la contribution Imprimer


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:
import os
n = 0 #nombre de screenshot dans le dossier
for e in os.listdir():
    if "photo" in e:
        n += 1

On a ainsi la variable initialisée correctement !

Le reste a déjà été dit.

Du coup le script "complet": makeScreenShot.py:
from bge import render
import os
name = "photo" #nom de l'image
directory = "." #le repertoire courant, ou le nom d'un dossier
n = 0 #nombre de screenshot dans le dossier
for e in os.listdir(directory):
    if name in e:
        n += 1
render.makeScreenshot("//" + ("" if directory=="." else directory) + name + str(n))


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
Créer un fichier PDF de la contribution Imprimer


Re: Screenshot dans Game !
OverdOzed
Inscrit:
28/09/2013 19:04
De Montpellier
Post(s): 1041
Salut! Bien pensé en effet! On reconnaît le programmeur. J'en suis pas encore là dans mon cours de python mais j'essayerai d'analyser dans quelques jours quand j'aurais appris à me servir du module os . Sinon ça sert à quoi les "//"?

Contribution le : 19/01/2014 15:47
Créer un fichier PDF de la contribution Imprimer


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...

Créer un fichier PDF de la contribution Imprimer


Re: Screenshot dans Game !
OverdOzed
Inscrit:
28/09/2013 19:04
De Montpellier
Post(s): 1041
Salut! Ton message? J'ai pas reçu de message (MP) T'as reçu le mien(MP)?


mmm, quoiqu'il en soit, merci pour ta réponse sur le "//".

Je vais essayer de compiler mon truc pour voir si la capture marche bien et où ça enregistre... Ca enregistre dans le répertoire de l'exe... Enfin je sais pas si j'ai bien compris ta remarque de bas de page...

A+!

EDIT: Ah ben oui j'avais lu ton message mais je n'avais pas tout intégré...(à propos du //) J'essaierai d'être plus attentif la prochaine fois

Contribution le : 19/01/2014 20:41
Créer un fichier PDF de la contribution Imprimer


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...

Créer un fichier PDF de la contribution Imprimer


Re: Screenshot dans Game !
Fou Furieux du Clan
Inscrit:
22/04/2008 12:58
Post(s): 178
Damned! J'avoue etre encore sur la 2.47 mais j'ai des bonnes raisons pour ça (me lancez pas la dessus).
Du coup vos bonnes solution ne sembles pas marcher, bien que j'ai essayer de les adapter. y'a t il des chose dans ces scripts que Rasterizer (ou la 2.47) ne peux pas piger?

Merci à vous.. je continu de bidouiller et je vous tiens au jus!

et à l'occas' je passe à la 2.62 (..des que j'ai deux ou trois ans de libre pour apprendre la nouvelle interface!)

;)

Contribution le : 19/01/2014 20:57
Créer un fichier PDF de la contribution Imprimer


Re: Screenshot dans Game !
OverdOzed
Inscrit:
21/08/2013 19:12
De CH [+]
Post(s): 1558
Citation :

mani_mani a écrit:
Damned! J'avoue etre encore sur la 2.47 mais j'ai des bonnes raisons pour ça (me lancez pas la dessus).


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...

Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses aspect de ma courbe de Bézier 3 36 Aujourd'hui 18:38:47
Littlespoon 
Questions & Réponses Optimisation topologie 1 33 Aujourd'hui 17:19:01
yawdpwal 
Questions & Réponses Réduire des faces individuellement dans une seule ou deux directions ? 3 489 Aujourd'hui 11:58:46
BlendX 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[8] 73 42034 Aujourd'hui 11:35:54
Guiu 
Questions & Réponses UV mapping supprimer une projection 5 135 Aujourd'hui 08:34:39
debutant 
Questions & Réponses existe il un moyen de savoir si un modele 3D tient debout    [1][2] 13 682 Hier 19:54:23
manie 
Questions & Réponses [non résolu] Shader de corde procedural 3 63 Hier 18:56:01
Rimpotche 
Questions & Réponses Couleur sur mesh après les avoir joint 2 55 27/02 17:05:25
thomas56 
Questions & Réponses [résolu] Impossible de rendre ma vidéo. 5 77 27/02 15:07:49
thomas56 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[6] 58 6009 27/02 12:08:19
Guiu 
Questions & Réponses Bouger un objet lié à une armature via un empty 5 92 27/02 09:06:21
Lylo 
Le coin des geeks Amd vs Nvidia    [1][2][3]...[5] 46 2851 26/02 22:51:01
Lylo 
[WIP] et travaux terminés [WIP] La cabane de Tarzan    [1][2][3]...[10] 98 28348 26/02 19:10:05
BlendX 
[WIP] et travaux terminés [WIP & tests] Fluides/ Molecular addon    [1][2] 13 417 26/02 18:54:44
lucky 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[53] 523 152064 25/02 18:13:51
Redstar 
Questions & Réponses blender 2.90 export stl de plusieurs objets d une scene 0 61 24/02 17:25:18
manie 
Hors Sujet !! création d'une vidéo pour pyramide holographique 0 61 24/02 17:18:40
jhujhu 
Questions & Réponses [non résolu] Difficulté à générer des supports automatiques sur chitubox à partir d'un modèle blender 1 1181 24/02 09:47:55
blendinfos 
Questions & Réponses [non résolu] Comment utiliser "Selection to cursor" avec une armature. (Blender 2.79) 0 84 23/02 13:40:32
Irreel 
Questions & Réponses [non résolu] Problème de rendu avec cycles 1 94 22/02 16:31:02
Sebooli 

Qui est en ligne
142 utilisateur(s) en ligne (dont 89 sur Forums)

Membre(s): 1
Invité(s): 141


ebrain, plus...
Nouveaux membres
Monserrate 1/3/2021
VitoWharto 1/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Diivya 27/2/2021
jhujhu 24/2/2021
Dubz 23/2/2021
Filho 22/2/2021
Sebooli 22/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Mar 14
Anniversaire de AMV12
Mar 16
Anniversaire de galba
Mar 29
GeeWee's B-Day
plus 259 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445