Ce que j'ai essayé cette fois, c'était la spécification de l'angle d'éclairage et du mouvement. Publiez avec une vidéo d'une seconde. La vidéo est postée sur Twitter blender 2.8, vidéo python 1 seconde. Source lumineuse ponctuelle et source lumineuse ponctuelle est. La direction dans laquelle la source de lumière spot éclaire est également importante. Tous les scripts sont publiés, y compris certaines parties étranges. L'éclairage ponctuel est orienté vers le sol par défaut, c'est-à-dire dans la direction négative de l'axe z. ((0,0,0) pointe directement vers le bas.) Le nombre pour spécifier l'angle est la valeur de x en utilisant ce delta_rotation_euler = (x, y, z), la rotation autour de l'axe des x, et l'angle est l'axe des x plus de l'origine. Dans le sens des aiguilles d'une montre lorsque vous regardez. Si x est (3,14 / 2), 90 degrés est la direction plus (nord) de l'axe y. Environ 3,14 = 180 degrés à π. 360 degrés à 2π. Épluchez le ciel avec l'exemple (3.14, 0, -0). Avec la valeur y, rotation autour de l'axe y, dans le sens des aiguilles d'une montre lorsque vous regardez l'axe y plus à partir de l'origine. Dans l'exemple (0, 3.14 / 2, 0) direction x moins, c'est-à-dire direction ouest. Dans l'exemple (0, 3.14 / 4, 3.14 / 4), il est légèrement orienté vers le bas, face au sud-ouest. La compréhension de l'angle du graisseur est à moitié suspecte par axe z, mais c'est bien pour le moment. (La tâche suivante consiste à modifier l'angle d'éclairage du spot avec l'animation.) Source du script J'ai emprunté beaucoup de scripts, donc ◎ Le cube est Comment utiliser Python avec Recess Tips Blender 2.63 ... ◎ La nouvelle installation de la lampe est [stack overflow; Pouvez-vous ajouter une source de lumière dans Blender en utilisant python](https://stackoverflow.com/questions/17355617/can-you-add-a-light-source-in-blender- using-python), colonne de réponses d'onorabil. Le script cette fois est bpy_nh09.
import bpy
#nh09 Éclairage SPOT Move. Déplacez les coordonnées en nommant plusieurs lumières individuellement.
#Maillage existant, light, camera,Tout supprimer
for item in bpy.data.objects:
bpy.data.objects.remove(item)
#Script original cubique---- http://tips.hecomi.com/entry/20120818/1345307205
START = 0
END = 100
N = 3
# Add color cubes
for x in range(0, N):
for y in range(0, N):
for z in range(0, N):
# Add a color cube
bpy.ops.mesh.primitive_cube_add( location=(x*3, y*3, z*3) )
#obj = bpy.context.scene.objects.active #(old blender2.7script)
obj = bpy.context.view_layer.objects.active
#mat.diffuse_color = (x/N, y/N, z/N)#(old blender2.7script)
mat = bpy.data.materials.new('Cube')
mat.diffuse_color = (x/N, y/N, z/N, 0)
#mat.use_transparency = True #(Cette ligne est 2.Pas essayé en 8)
#mat.alpha = 0.6 #(Cette ligne est 2.Pas essayé en 8)
obj.data.materials.append(mat)
# new camera
bpy.ops.object.add(radius=1.0, type='CAMERA', enter_editmode=False, align='WORLD', location=(20.0, -6.0, 8.0), rotation=(1.4, 0.0, 1.2))
#nouvelles lampes (débordement de la pile de sources Pouvez-vous ajouter une source de lumière dans Blender en utilisant python)
# create light datablock, set attributes
light_data = bpy.data.lights.new(name="light_2.80", type='POINT')
light_data.energy = 1000
# create new object with our light datablock
light_object = bpy.data.objects.new(name="light_2.80", object_data=light_data)
# link light object
bpy.context.collection.objects.link(light_object)
# make it active
bpy.context.view_layer.objects.active = light_object
#change location
light_object.location = (5, -4, 10)
# update scene, if needed
dg = bpy.context.evaluated_depsgraph_get()
dg.update()
# ============== "light_spot1"
# create light datablock, set attributes
light_data = bpy.data.lights.new(name="light_spot1", type='SPOT')
light_data.energy = 3000
# 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, -5, 10)
light_object1.delta_rotation_euler = (1.2, 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()
# ================
# ================
#MOVE a LIGHT mesh avec le mouvement d'éclairage KEY FRAME
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 30
bpy.context.scene.frame_current = 10
# make POINT light ACTIVE
bpy.context.scene.objects["light_spot1"].select_set(False) #spot ---- deselect
bpy.context.scene.objects["light_2.80"].select_set(True) # point ----- select
#cdnow = bpy.context.object # get ACTIVE object
cdnow = bpy.context.scene.objects["light_2.80"] # get ACTIVE object
# print(cdnow) #------- DDD debugging DDDD
bpy.context.scene.frame_current = 1 # set frame to 1
cdnow.location = (1,-10,1) # set the location
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 10 # set frame to 10
cdnow.location = (1,-10,8) # set the location
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 20 # set frame to 20
cdnow.location = (8,-5,8)
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 30 # set frame to 30
cdnow.location = (1,-10,1)
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
# ==================
# ================
#MOVE a SPOT LIGHT Mouvement de la lumière du spot
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 30
bpy.context.scene.frame_current = 10
# make light ACTIVE
bpy.context.scene.objects["light_2.80"].select_set(False) # point ----- deselect
bpy.context.scene.objects["light_spot1"].select_set(True) #spot ---- select
cdnow = bpy.context.object # get ACTIVE object
bpy.context.scene.frame_current = 1 # set frame to 1
cdnow.location = (5, -5, 8) # set the location
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 10 # set frame to 10
cdnow.location = (5, -5, 13) # set the location
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 20 # set frame to 20
cdnow.location = (2, -5, 13)
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
bpy.context.scene.frame_current = 30 # set frame to 30
cdnow.location = (5, -5, 8)
bpy.ops.anim.keyframe_insert_menu(type='Location') # KEY FRAME
# ==================
# world - surface - background (Contexte)
bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[0].default_value = (0.01, 0.15, 0.25, 1)
bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[1].default_value = 0.7
#=====
Recommended Posts