Was ich diesmal versuchte, war die Angabe des Beleuchtungswinkels und der Bewegung. Poste mit einem 1 Sekunde Video. Das Video wird auf Twitter gepostet Mixer 2.8, Python-Video 1 Sekunde. Punktlichtquelle und Punktlichtquelle ist. Die Richtung, in der die Punktlichtquelle leuchtet, ist ebenfalls wichtig. Alle Skripte werden veröffentlicht, einschließlich einiger seltsamer Teile. Die Spotbeleuchtung ist standardmäßig auf den Boden gerichtet, dh in Minusrichtung der Z-Achse. ((0,0,0) zeigt direkt nach unten.) Die Zahl zur Angabe des Winkels ist der Wert von x unter Verwendung dieses delta_rotation_euler = (x, y, z), die Drehung um die x-Achse und der Winkel ist die x-Achse plus vom Ursprung. Im Uhrzeigersinn beim Betrachten. Wenn x (3,14 / 2) ist, sind 90 Grad die Plusrichtung (Nordrichtung) der y-Achse. Ungefähr 3,14 = 180 Grad bei π. 360 Grad bei 2π. Schälen Sie den Himmel mit dem Beispiel (3.14, 0, -0). Mit dem y-Wert Drehung um die y-Achse im Uhrzeigersinn, wenn die y-Achse plus vom Ursprung aus betrachtet wird. In dem Beispiel (0, 3.14 / 2, 0) x minus Richtung, dh Westrichtung. Im Beispiel (0, 3.14 / 4, 3.14 / 4) ist es leicht nach unten gerichtet und zeigt nach Südwesten. Das Verständnis des Ölerwinkels ist pro z-Achse halb verdächtig, aber dies ist vorerst in Ordnung. (Die nächste Aufgabe besteht darin, den Punktbeleuchtungswinkel mit der Animation zu ändern.) Quelle des Skripts Ich habe mir also viele Skripte ausgeliehen ◎ Der Cube lautet Verwendung von Python mit Recess Tips Blender 2.63 ... ◎ Neuinstallation der Lampe ist [Stapelüberlauf; Können Sie mit Python eine Lichtquelle in den Mixer einfügen](https://stackoverflow.com/questions/17355617/can-you-add-a-light-source-in-blender- using-python), die Antwortspalte von onorabil. Das Skript lautet diesmal bpy_nh09.
import bpy
#nh09 SPOT Beleuchtung Bewegen. Verschieben Sie die Koordinaten, indem Sie mehrere Lichter einzeln benennen.
#Vorhandenes Netz, light, camera,Alles löschen
for item in bpy.data.objects:
bpy.data.objects.remove(item)
#Kubisches Originalskript---- 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 #(Diese Zeile ist 2.Nicht versucht in 8)
#mat.alpha = 0.6 #(Diese Zeile ist 2.Nicht versucht in 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))
#Neue Lampen (Überlauf des Quellstapels Können Sie mit Python eine Lichtquelle in den Mixer einfügen?)
# 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) #Schauen Sie direkt auf Null Null Null.
# update scene, if needed
dg = bpy.context.evaluated_depsgraph_get()
dg.update()
# ================
# ================
#BEWEGEN Sie ein LICHT-Netz mit KEY FRAME Point-Beleuchtungsbewegung
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
# ==================
# ================
#BEWEGEN SIE EIN SPOT LIGHT Spotlight-Bewegung
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 (Hintergrund)
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