Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
3blue-tear.png
Publicité
Formation Blender ElephormBlender 3d Elephorm


     




« 1 (2) 3 4 5 ... 15 »


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Bon, je galère mais j'avance.
Je viens a peine de comprendre la différence entre une texture et un image.

Si je comprend bien pour avoir une texture en python la syntaxe est : tex_fissures = texture.Texture("Fissures")

Mais après je ne trouve pas comment appliquer cette texture a mon objet (appliquer la nouvelle texture en plus de l'ancienne pas la remplacer).

Désoler de devoir encore vous en demander mais tous ce que je trouve montre comment remplacer l'image d'une texture mais aucun ne montre comment appliquer une seconde texture

Contribution le : 09/08/2016 18:34
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Oups double post

Contribution le : 09/08/2016 18:35
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 639
C’est avec plaisir que je répondrai à tes questions .

tex_fissures = texture.Texture("Fissures") est effectivement ta variable source pour ta texture où autrement dit, ton "objet texture" (dans python, tout est objet).

Pour spécifier un objet particulier:
ID = texture.materialID(mon_cube_minecraft, texture_de_mon_cube.png)


Pour appliquer une texture, tu dois avoir ces deux lignes (en plus de celles que je n'ai pas écrite):

# référence: exemple api
logic.texture.source = new_source
logic.texture.refresh(True)


Avant ces deux ligne, tu dois mettre un booléen et un interrupteur pour activer le changement.

# je fais une action:
toto = True

if toto: (ou toto == true)
   logic.texture.source = new_source
   logic.texture.refresh(True)
   toto = false


Si tu ne fais pas ça, python va appliquer en boucle ta texture et tu aura droit à un gros freeze.

Si tu veux avoir deux textures à changer sur un objet, tu vas devoir:
- Utiliser un "masque" de texture.
- Changer la source de la texture en material (MA au lieu de IM).

Cette méthode est assez subtile.

Contribution le : 09/08/2016 20:15
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Bonjour de désolé de mon retard je suis parti en vacances précipitamment, je n'ai pas eu le temps d'essayer ton code
Je reviendrai dans quelques jours, je te tiendrai au courant quand j'aurai de nouveau accès à mon ordinateur.
Merci pour ton soutien

Contribution le : 11/08/2016 12:45
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Bonjour, c'est bon je suis rentré.
Je viens de tester ton code, mais je ne comprend toujours pas (oui je doit etre nul de chez nul)

Dans l’exemple de l'api,la commande "logic.texture.source = new_source" permet si j'ai bien compris de remplacer l'image assigné a une texture (ce que je ne veut pas faire).

Je ne comprend pas non plus celle ci "ID = texture.materialID(mon_cube_minecraft, texture_de_mon_cube.png)", ID contient la texture du bloc ou l'image ? et si le cube a plusieurs textures ?

Encore desoler de devoir vous solliciter mais j'ai du mal avec le module video texture

Contribution le : 20/08/2016 18:08
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 639
Citation :

"logic.texture.source = new_source" permet si j'ai bien compris de remplacer l'image assigné a une texture


C'est ça.

ID contient les informations du materiel:

Si tu indiques "IM_ma_texture" au 2e argument, tu ne pourra changer qu'une seule texture, celle que tu aura indiquée.

Par contre, si tu mets "MA_mon_materiel", tu pourra changer toutes tes textures mais en rajoutant un argument qui indique laquelle.

Je te donne le code car ce n'est pas indiqué dans l'api.
logic.img_cube = VT.Texture(cube_minecraft, matID, nbr)

nbr = position de la texture.

Remarque: On commence par zéro pour la première position.


Dans les deux cas, tu peux avoir plusieurs textures pour un objet.

Contribution le : 21/08/2016 10:30
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Je ne sait pas pourquoi la commande "tex_fissures = texture.Texture("Fissures")" ne marche pas, la console me retourne "Runtime Error"

Pour le moment j'ai ce script :


from bge import logic
from bge import texture

def nt(cont):
cont = logic.getCurrentController()
own = cont.owner
scene = logic.getCurrentScene()
support = scene.objects["support"]
cube_minecraft = scene.objects["cube_minecraft"]


IDsupport = texture.materialID(support, 'IMfissures.png')

tex_fissures = texture.Texture (support, IDsupport)

ID = texture.materialID(cube_minecraft, 'IMcube_minecraft_image.png')

logic.tex_fissures = texture.Texture(cube_minecraft, ID, 5)

#support est un object sur lequel est appliqué la texture "fissure"


Il ne donne pas d'erreur mais ne fait rien de visible, je ne comprend pas.

Contribution le : 24/08/2016 14:18
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 639
Peut-être une faute de frappe dans tes noms ?

Pas de ligne indiquée ou l'erreur s'est produite ?

La fonction "nt" s'exécute avant la création des objets "material" et "texture" ?

Je te conseille d'utiliser le bouton "code" de l'éditeur de texte de ce forum. Ressemble à ceci: <>

Indique le code qui concerne le changement de texture au complet car l'erreur pourrait se trouver ailleurs.

Contribution le : 24/08/2016 14:39
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 19:04
Post(s): 79
Ce code est juste un essais donc il n'y a rien d'autre ou pourrait se trouver une erreur.

Tout les objets sont créés avent le lancement du jeu.

Par contre je viens de m'apercevoir d'une chose étrange, en mode Multitexture la console me laisse entendre que tout va bien mais en GLSL elle m'indique un "RuntimeError", pour la derniere ligne, comme pour la commande "tex_fissures = texture.Texture("Fissures")" qui est sensée marcher.

Merci pour l'astuce du bouton code

Contribution le : 24/08/2016 21:06
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 16:30
De Belgique
Post(s): 639
Besoin du blend qui contient ton problème svp.

Contribution le : 24/08/2016 21:28
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 (2) 3 4 5 ... 15 »




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 Ralentissement avec un modèle au nombre de polygones éleve 1 22 Aujourd'hui 00:49:33
Ihluvathar 
Questions & Réponses Plusieurs matériaux attribuer à un objet en fonction de la hauteur (RenduCycles) 6 328 Hier 23:26:18
76MPaul 
Questions & Réponses Raccord d'objet torsadé 0 46 Hier 18:02:02
airamacnaib 
Questions & Réponses Réparation avec impression 3D 8 330 Hier 15:29:00
Europrimus 
Concours Les Défis du Clan 2017 - S.21 - Thème : "Ça pique" 4 298 Hier 13:30:44
BILL 
[WIP] et travaux terminés [WIP] Création d'une prothèse pour impression 3D    [1][2] 11 727 Hier 12:26:28
Redstar 
Questions & Réponses Texture fonction du niveau de gris 2 151 Hier 11:35:32
Philelopez 
Mes premières images sous Blender (débutants) [WIP] Dalek    [1][2] 15 887 26/05 23:21:18
bathal 
The Blender Clan 'tchat [BUG PARIS] RDV en 2017 !    [1][2][3]...[66] 656 135779 26/05 13:45:17
manchukito 
Moteur de jeu GameBlender et alternatives [WIP] Tales Of Rain nouvelle version 3D    [1][2][3]...[5] 47 3555 26/05 13:25:19
timeman13 
Questions & Réponses Probléme d'ajout de bone supplémentaire lors de l'exportation 0 114 26/05 00:47:16
tpexstyle 
Questions & Réponses [non résolu] Probleme rigging 2 141 25/05 21:46:01
McAsulys 
Questions & Réponses [non résolu] Comment recompiler un script osl a chaque frame lors d'une animation. 0 119 25/05 18:18:27
Gandi 
Questions & Réponses Additionner deux actions : vraiment bizarre... 5 240 25/05 16:05:56
Ran 
Questions & Réponses [non résolu] Gravures en creux sur surfaces arrondies ? 2 228 25/05 09:15:33
Sebastien1979 
Concours Les Défis du Clan 2017 - S.20 - Thème : "Nourriture et/ou Astronomie" - [Votes Ouverts]    [1][2] 16 964 24/05 20:12:39
Jimoke 
Mes premières images sous Blender (débutants) Les Blends de Megeon    [1][2][3]...[29] 280 42059 24/05 14:22:36
timeman13 
The Blender Clan 'tchat Le topic des trucs à voir    [1][2][3]...[301] 3006 676104 23/05 17:34:20
rikoo 
[WIP] et travaux terminés [WIP] Projet Tales & Legends - phase test 2    [1][2][3]...[9] 87 15361 23/05 16:03:08
Redstar 
Questions & Réponses problème Edit prop + Edge rail ? 2 241 23/05 11:50:54
DaWaaaaghBabal 

Qui est en ligne
31 utilisateur(s) en ligne (dont 26 sur Forums)

Membre(s): 0
Invité(s): 31


plus...
Nouveaux membres
Ihluvathar 28/5/2017
ErvinLipsc 28/5/2017
JeannetteR 27/5/2017
Gamabar 26/5/2017
tpexstyle 26/5/2017
caiico 25/5/2017
Ran 25/5/2017
Sebastien1979 24/5/2017
rhody 23/5/2017
italo 23/5/2017
Dernier Ajout
7.jpg

Evènements à venir
Jui 3
BUG de PARIS
Jui 30
Anniv des Jedi :-D
Jui 15
BUG de Lyon
plus 320 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2017 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445