Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
luffyfinal.jpg
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): 84
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): 84
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): 710
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): 84
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): 84
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): 710
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): 84
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): 710
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): 84
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): 710
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 Problème de texture lorsque je change la taille de l'objet 0 23 Aujourd'hui 05:08:09
FarakW 
The Blender Clan 'tchat [BUG PARIS] RDV en 2017 !    [1][2][3]...[67] 663 138002 Aujourd'hui 00:54:42
edddy 
[WIP] et travaux terminés [WIP] Ourson en peluche - Reliquat du Defis semaine 16 0 50 Hier 21:32:06
76MPaul 
Moteur de jeu GameBlender et alternatives [WIP] Fps Survival Horror    [1][2][3]...[20] 198 19427 Hier 17:22:29
origalde 
Python & Plugins [résolu] [bge] creer des boutons contextuels 9 267 Hier 14:36:52
Coal111 
Moteur de jeu GameBlender et alternatives [non résolu] Faire mirroiter l'eau    [1][2] 12 399 Hier 09:10:29
Redstar 
The Blender Clan 'tchat freelance ou CDD archi d'intérieur décorateur - Blender rendu 0 179 25/07 08:09:22
ragimund 
Moteur de jeu GameBlender et alternatives IA qui ne fonctionne pas 2 263 24/07 23:19:50
sward 
Questions & Réponses [résolu] fichier .blend qui ne s'ouvre plus 2 200 24/07 23:01:16
sward 
Python & Plugins [non résolu] Travail en Python complexe 3 440 24/07 15:02:35
Linkartoon95 
[WIP] et travaux terminés [terminé] Un raton-laveur en costume (oui oui) 9 833 24/07 12:34:45
moonboots 
Questions & Réponses Probleme d'UV mapping 7 542 23/07 19:30:56
Galidraan 
Le coin des geeks Projet de passer à Linux    [1][2][3]...[14] 131 11207 23/07 18:41:21
Redstar 
Le coin des geeks Temps de rendu : CPU et GPU    [1][2] 12 804 23/07 15:26:04
IcyPhoenix 
Questions & Réponses [résolu] Curve form mesh (soucis) 2 236 22/07 23:31:24
sinope 
[WIP] et travaux terminés Les WIP's de Pandora 5 423 22/07 22:07:47
Ecirbaf 
Questions & Réponses [non résolu] ajouter des normals map ensemble 1 221 22/07 11:12:48
busanga 
[WIP] et travaux terminés [WIP] Meuble pour enfant 1 371 21/07 23:38:18
KADOSH 
Questions & Réponses [résolu] probleme de calquages "layer" dans le rendu 1 255 21/07 21:34:44
sirius21 
Questions & Réponses [résolu] Effet spot éclairage 2 249 21/07 11:36:23
Jaysc 

Qui est en ligne
53 utilisateur(s) en ligne (dont 40 sur Forums)

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


plus...
Nouveaux membres
MoseDzt530 27/7/2017
FarakW 27/7/2017
CerysStorm 27/7/2017
OtiliaClow 26/7/2017
ragimund 24/7/2017
JACKY56 22/7/2017
gasbakel 21/7/2017
sirius21 21/7/2017
Linkartoon95 19/7/2017
Tchutcho 19/7/2017
Dernier Ajout
Dp50.png

Evènements à venir
Aou 4
Anniversaire de xemphra
Aou 7
anniversaire Cem47
Aou 13
Anniversaire Siskas
plus 316 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