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


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1573
Dans ce cas, c'est que tu as oublié un ou deux détails dans ton code.

Ton code ne marchera pas pour deux raisons:

- Mauvais positionnement texture code et panel texture.

En effet, tu indiques le 5e channel alors que dans ton pannel, tu n'as qu'une seule texture et elle se trouve dans le channel 1. Tu aura donc une erreur invisible (ça, c'est par rapport à ton blend. Peut-être que tu as plus de texture dans ton projet).

- Le chemin du fichier n'est pas indiqué.
En effet, ta variable URL indique bien la source mais tu dois faire appel à la méthode python:

1er façon:
url = logic.expandPath("//fissures_image.png")
new_source = texture.ImageFFmpeg(url)

2e façon:
new_source = texture.ImageFFmpeg(logic.expandPath("//fissures_image.png"))


Là, ça fonctionnera. Á ce moment là, tu devra mettre 2 textures sur le même objet: la texture qui ne change pas et la texture qui va changer (qu'il faudra mettre en "multiply" je pense).

Contribution le : 07/09/2016 14:56
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 18:04
Post(s): 89
J'ai essayer, c'a ne marche toujours pas

Mais, je ne comprend pas pourquoi on a besoin de l'url de l'image de la texture, tout ce que l'on fait c'est rajouter une texure deja existante sur un objet.
Pourquoi devoir passer par l'url de l'image de cette texture ?

Contribution le : 07/09/2016 16:40
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1573
Tu as bien changé l'affichage en GLSL ?

Tu ne rajoute pas une texture, tu la modifies en réalité.

Pour changer ta texture fissure ou une texture en général, de façon dynamique, tu as besoin de sa source et la source c'est ton "image.png" qui se trouve à la racine de ton dossier-projet.

Du coup, il faut bien signaler à python quoi et comment changer à partir de quel emplacement.

Contribution le : 07/09/2016 17:47
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Clan Afficionado
Inscrit:
29/06/2016 18:04
Post(s): 89
Lorsque je suis en GLSL, le programme bug a la commande "logic.tex_fissures = texture.Texture(cube_minecraft, ID, 5)" et la console dit "RuntimeError: Texture material is not available"

Contribution le : 07/09/2016 19:03
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
09/06/2011 19:10
Post(s): 359
Si tu aurais voulu modifier la texture de ton "cube_minecraft", normalement le code suivant devrais fonctionner:

# recupere le material
matID = texture.materialID(cube_minecraft, "MAcube_minecraft_mat")

# recupere la texture du material
logic.tex_fissures = texture.Texture(cube_minecraft, matID)

# definie l'url de l'image
imagePath = logic.expandPath('//fissures_image.png')

# modifier la texture
logic.tex_fissures.source = texture.ImageFFmpeg(imagePath)

Contribution le : 07/09/2016 19:46
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1573
Peut-être me suis-je mal exprimé.

Tu as cette erreur a cause du fait que tu désigne la 5é texture, or cette texture se trouve à la 1er position

Remarque: le positionnement se fait à partir de zéro. Ce qui signifie que tu dois faire la position -1.

Exemple, je vois que j'ai 5 textures dans mon panel texture. La diffuse, la normal map, la specular map, une ambiant occlusion et une bonus en mode multiply.

Je désigne la 4é texture. Pour blender, c'est 4 -1, donc la 3e texture. Je dois donc mettre "3" dans mon code pour le channel/texture.

Contribution le : 08/09/2016 07: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 18:04
Post(s): 89
Je ne comprend pas, la texture a la 1er position (remarque que j'aurai pu la mettre a la 0eme) est celle du bloc (dans mon .blend de test, un texture de rocher), si je rajoute ma texture de fissures par dessus, celle ci va être enlevée et dans ce cas mon bloc n'aura plus que la texture des fissures.
Mais même en désignant la position -1, 0 ou 1, c'est toujours pareil, la texture disparait et le bloc devient gris.

dynamique-zak, merci pour on aide, mais ton code, comme tu le dis modifie la texture de mon bloc au lieu de m'en rajouter une.

En gros, ce que je veux, c'est avec python faire ce qu'on ferait a la main comme ça :

avant : https://drive.google.com/open?id=0B0lTbNQbmMMsVVVGVWVEUVljLXM

après : https://drive.google.com/open?id=0B0lTbNQbmMMsNUZURjFocHlMWDg

Contribution le : 10/09/2016 22:00
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Fou Furieux du Clan
Inscrit:
21/08/2014 10:50
Post(s): 128
Salut, j'ai fait un .blend avec un mode d'emploi: https://drive.google.com/file/d/0B3GouQIyoCmraXprcDJCZV91UjQ/view?usp=sharing

J'espère qu'il répond à ta question. Bye

Contribution le : 10/09/2016 23:27
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1573
Á préciser que ça ne fonctionnera qu'avec deux textures.

Ton script, barbapapa, m'intrigue et je ne le comprends pas.

Comment obtiens-tu un tel résultat, sans indiquer le matID, ni le chemin de la texture source ?

Comment se fait-il également que la deuxième texture ne chevauche pas la première ?

Cela pourrait-il fonctionner pour plus de deux textures et pour des formes plus complexes (je pense à un personnage) ?

Enfin, dans mon projet, j'ai fais un "import VideoTexture", or, on indique "bge.texture" dans l'api... pas sûr de comprendre. Pourquoi ça fonctionne comme ça ? Le module aurai donc deux label pour être appelé, autrement dit, deux façons d'être appelé ?

Contribution le : 11/09/2016 10:02
Créer un fichier PDF de la contribution Imprimer


Re: Demande d'aide sur le scripting python (BGE)
Fou Furieux du Clan
Inscrit:
21/08/2014 10:50
Post(s): 128
Salut Redstar, VideoTexture est l'ancien nom du module qui s'appelle maintenant bge.texture.

Il y a plusieurs manières de créer une texture:

- Avec ta technique
- Avec ma technique indiquée dans l'API (https://www.blender.org/api/blender_python_api_2_77a_release/bge.texture.html?highlight=texture#module-bge.texture -> class bge.texture.Texture(gameObj, materialID=0, textureID=0, textureObj=None)

Je pense qu'on peut s'en servir pour un personnage, en faisant plusieurs UVs.

Sinon pour la limite de 2 textures, je ne suis pas sûr. Je pense que tout dépend des options de blending (mix, multiply etc..) de la texture à remplacer.

En l'occurrence, il y avait 2 textures. La texture déjà appliquée sur toute la surface. Et la texture "fissure...png" (je ne me rappelle plus le nom exact) dans le dossier du .blend. Cette dernière texture devait avoir un canal alpha. J'avais activé la transparence dans les options du material, donc seule la partie "coloriée" est venue se superposer à la texture déjà appliquée (mix). Si j'avais choisi un autre mode de blending, je pense que ça n'aurait pas donné le même résultat.

(J'ai utilisé blender 2.77a pour faire le .blend). Bye!

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



 Haut   Précédent   Suivant
« 1 2 3 (4) 5 6 7 ... 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 transparence image as plane 3 95 Hier 21:48:30
ansic 
Questions & Réponses Comment faire une boucle infinie (animation) 0 24 Hier 20:05:11
3dlone 
Le coin des geeks Multi-GPU Eevee 0 19 Hier 19:41:55
Poutrator 
Questions & Réponses Conseils pour modéliser un corps 0 30 Hier 18:00:46
GFC 
Python & Plugins Slider sur une shapekey en python.    [1][2] 13 223 Hier 17:44:19
Rimpotche 
Questions & Réponses Animation NLA probleme origine 6 86 Hier 10:01:40
lucky 
Python & Plugins Pouvoir choisir l'outil actif avec python 0 34 Hier 07:28:08
pierre-y 
Questions & Réponses [non résolu] Usage du CPU (hors rendu) 6 195 23/05 21:16:49
lapineige 
Questions & Réponses [non résolu] Problème d'importation de svg 3 111 23/05 18:51:47
Laorz 
Questions & Réponses [non résolu] Artefacts après textures PBR 0 43 23/05 18:47:13
Laorz 
Mes premières images sous Blender (débutants) Kame-House    [1][2] 14 473 23/05 13:50:15
moonboots 
Python & Plugins [non résolu] Un équivalent de "break" et "continue" pour une boucle ? 3 100 22/05 14:47:21
lucky 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Reprise du développement    [1][2][3]...[50] 499 86488 22/05 12:39:00
Hook 
Hors Sujet !! atome 2 124 22/05 09:34:13
Redstar 
Questions & Réponses clique droite 4 136 22/05 01:17:22
fenixdragon 
Questions & Réponses Texture recto verso d'une grid    [1][2] 10 2779 21/05 18:16:21
digistef 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2][3]...[7] 63 5896 21/05 16:43:25
Bibi09 
Questions & Réponses [résolu] Aligner des points 9 1827 21/05 14:04:15
idab 
Questions & Réponses RIG FAILED. 4 118 21/05 11:52:57
lucien25 
Questions & Réponses Le rendu Eevee plante avec un objet qui fonctionne en Cycle 1 79 21/05 10:55:04
Rimpotche 

Qui est en ligne
44 utilisateur(s) en ligne (dont 23 sur Forums)

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


plus...
Nouveaux membres
Jenna4038 25/5/2020
ConradSund 25/5/2020
BrentonSec 25/5/2020
RichGrano7 25/5/2020
GUIMilla93 25/5/2020
GastonStac 25/5/2020
TeenaIsabe 25/5/2020
OpalPurnel 25/5/2020
JanMonti9 25/5/2020
Elissa28M 25/5/2020
Dernier Ajout
mirages-preview~0.jpg

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