Colorer un rubik's cube

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Colorer un rubik's cube

Message par Fanny » 03 Juin 2018, 10:48

Bonjour !
J'aurai besoin de votre aide. Voilà, j'ai un rubik's cube et je voudrais le colorer en utilisant Python.
Mon idée serai de nommer chaque cube puis de colorer les faces de chaque cube un par un. Seulement, je ne sais pas comment nommer un cube et comment colorer une face d'un cube avec Python.
Pour nommer un cube, je pense utiliser les coordonnées mais je n'ai aucune idée de comment faire.

Voilà, je sais qu'il y a beaucoup de choses. Je suis une débutante sur Blender et c'est un projet pour mon bac que je dois rendre la semaine prochaine... Ce n'est pas malin de ma part mais bonh... :?

Merci d'avance pour votre aide !
Fanny
 
Message(s) : 4
Inscription : 02 Juin 2018, 20:27

Re: Colorer un rubik's cube

Message par lapineige » 03 Juin 2018, 11:19

Bonjour Fanny,

Est-ce que tu peux détailler comment est modélisé ton Rubik's cube ?
Si je comprends bien, y'a un cube par "morceau" ? (donc 3 empilements de 9 cubes ?)

Pour modifier le nom, tu peux modifier la propriété
Code : Tout sélectionner
name
d'un objet.
Par exemple, pour l'objet sélectionné:
Code : Tout sélectionner
bpy.context.object.name = "NouveauNom"


Pour la couleur, celle du viewport, du matériau (cycles, internal ?) ?
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3689
Inscription : 25 Juin 2014, 07:06

Re: Colorer un rubik's cube

Message par Fanny » 03 Juin 2018, 20:38

Bonjour,
Voici le code qui permet de créer notre "Rubik's Cube" :

import bpy
import bmesh

CENTRE_PREMIER_CUBE =1
MAX_LONG = 6
ECART_INTERCUBE = 2


for k in range(CENTRE_PREMIER_CUBE, MAX_LONG, ECART_INTERCUBE):
for i in range(CENTRE_PREMIER_CUBE, MAX_LONG, ECART_INTERCUBE):
for j in range(CENTRE_PREMIER_CUBE, MAX_LONG, ECART_INTERCUBE):
bpy.ops.mesh.primitive_cube_add(location=(i, j, k))

Et oui c'est ça : ma camarade avec qui je fais ce projet a tout simplement fabriquer plusieurs cubes qui se positionnent de façon à ce que ça forme un Rubik's Cube.

Merci beaucoup pour ton aide !! :D
Fanny
 
Message(s) : 4
Inscription : 02 Juin 2018, 20:27

Re: Colorer un rubik's cube

Message par lapineige » 03 Juin 2018, 21:02

Ah ben c'est encore plus simple, vu que tu as leur référence au fur et à mesure.
Ensuite à toi de savoir quand quelle couleur doit être affichée, et d'appliquer ça au moment de la création du cube :)

Pour trouver les commandes pour les matériaux, utilise la vue "Info" ;) (tu peux l'afficher en descendant le menu du haut, c'est une vue info qui est écrasé en haut de l'interface)

Par exemple, lors de la création d'un matériaux, et de l'assignation d'une couleur rouge au nœud diffuse:
Code : Tout sélectionner
bpy.ops.object.material_slot_add()
bpy.ops.material.new()
bpy.context.object.active_material.name = "Rouge"
bpy.data.node_groups["Shader Nodetree"].nodes["Diffuse BSDF"].inputs[0].default_value = (0.8, 0.00968562, 0, 1)
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3689
Inscription : 25 Juin 2014, 07:06

Re: Colorer un rubik's cube

Message par Fanny » 04 Juin 2018, 19:25

Hey !
En fait, je n'arrive pas à faire fonctionner ton programme... Je suis désolée !
Fanny
 
Message(s) : 4
Inscription : 02 Juin 2018, 20:27

Re: Colorer un rubik's cube

Message par Fanny » 04 Juin 2018, 21:51

En fait, je ne comprends pas ton code...
Fanny
 
Message(s) : 4
Inscription : 02 Juin 2018, 20:27


Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron