Blender 2.9, Python, spécification de couleur hexadécimale

Le défi d'aujourd'hui est d'utiliser le code couleur hexadécimal utilisé en HTML Spécifiez la couleur du matériau et réfléchissez-la sur le solide. Tout d'abord, spécifiez environ 3 couleurs. Les couleurs sont basées sur "Bochan Dumpling / Tsuboya Confectionery" (souvenir Ehime). (J'ai changé de Blender 2.8 à 2.9 il y a quelques jours. Le script Python pour 2.8 semble également fonctionner avec 2.9.) bochadango1.png

#bpy_nh20 (material color using hex value)
#(Désignation de couleur HEX)Blender 2.8 (python) - How to set material color using hex value instead of RGB

import bpy

# ========= DELETE ALL mesh, light, camera,2 lignes pour tout supprimer=========
for item in bpy.data.objects:
    bpy.data.objects.remove(item)

# ======NEW CAMERA
bpy.ops.object.camera_add(enter_editmode=False, align='VIEW', location=(4, -6, 4), rotation=(1.3, 0, 0.5))
##(1.3, 0, -0.3)
# ====== NEW CUBE 
bpy.ops.mesh.primitive_cube_add(size=2,  align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))

def hex_to_rgb( hex_value ):
    b = (hex_value & 0xFF) / 255.0
    g = ((hex_value >> 8) & 0xFF) / 255.0
    r = ((hex_value >> 16) & 0xFF) / 255.0
    return r, g, b

def add_material(obj, material_name, h):
    material = bpy.data.materials.get(material_name)
    if material is None:
        material = bpy.data.materials.new(material_name)
    material.use_nodes = True
    principled_bsdf = material.node_tree.nodes['Principled BSDF']
    if principled_bsdf is not None:
        principled_bsdf.inputs[0].default_value = (*hex_to_rgb(h), 1)  
    obj.active_material = material

#h = 0xE7E7FF
#h = 0x87ceeb #skyblue#87ceeb
#h = 0xadff2f #greenyellow#adff2f
#h = 0xee82ee #violet#ee82ee
#saddlebrown#8b4513
#moccasin#ffe4b5
#olive#808000

obj = bpy.context.object
add_material( obj, "test1", 0x8b4513)  #saddlebrown#8b4513

bpy.ops.mesh.primitive_cube_add(size=2,  align='WORLD', location=(0, 2, 2), scale=(1, 1, 1))
obj = bpy.context.object
add_material( obj, "test2", 0xffe4b5 ) #moccasin#ffe4b5

bpy.ops.mesh.primitive_cube_add(size=2,  align='WORLD', location=(0, 4, 4), scale=(1, 1, 1))
obj = bpy.context.object
add_material( obj, "test3", 0x808000 ) #olive#808000

# ============== "light_spot1" ==== HIGH 
# create light datablock, set attributes
light_data = bpy.data.lights.new(name="light_spot1", type='SPOT')
light_data.energy = 700
# create new object with our light datablock
light_object1 = bpy.data.objects.new(name="light_spot1", object_data=light_data)
# link light object
bpy.context.collection.objects.link(light_object1)
# make it active 
bpy.context.view_layer.objects.active = light_object1
#change location
light_object1.location = (-5, -7, 4)
light_object1.delta_rotation_euler = (1.3, 0, -0.3) #Regardez droit vers le bas à zéro zéro zéro.
# update scene, if needed
dg = bpy.context.evaluated_depsgraph_get() 
dg.update()
# ================
# =========================== end of bpy_nh20

Recommended Posts

Blender 2.9, Python, spécification de couleur hexadécimale
Blender 2.8, Python, mouvement de la caméra, spécification de couleur aléatoire
mixeur, python, escalier en colimaçon, couleur
Blender 2.9, test de couleur de la lumière d'arrière-plan Python
Extrusion Python Extrude de Blender 2.9
mixeur, python, escalier en colimaçon
Exécutez Blender avec python
mélangeur, python, comportement de la sphère
Blender 2.8, mise à l'échelle du cube Python
Comment gérer l'hexadécimal en Python3
[ev3dev × Python] Capteur de couleur
Blender 2.9, Python Building, Voiture, Vidéo
[Python] Ajustement de la barre de couleurs
Blender 2.9, construction paire impaire Python
Blender 2.8, Python, éclairage Spot
API Blender Python dans Houdini (Python 3)
Générez 8 * 8 (64) cubes avec Blender Python
Dessinez des ondes sinusoïdales avec Blender Python
[python] Horloge qui change de couleur (animation)
Blender 2.8, cube Python, éclairage, mouvement de la circonférence de la caméra
Exécutez mruby avec Python ou Blender
Installez Pytorch sur Blender 2.90 python sous Windows
[Python] Ajuster la norme de la carte des couleurs
Mémo couleur Python colorama (environnement Cmder)
Lecture de spécification de taille multiligne avec python
Valeurs pouvant être utilisées dans la spécification de couleur Tkinter
Formatage des données pour les graphiques Python / couleur
[Blender x Python] Maîtrisons au hasard !!
[Blender x Python] Maîtrisons la rotation !!
Accéder aux nœuds de shader de Blender depuis Python
Démarrez avec Python avec Blender