Blender 2.8, Python, Licht Spotbeleuchtung

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. bpy_nh09sc_shot.png

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

Blender 2.8, Python, Licht Spotbeleuchtung
Blender 2.9, Python-Hintergrundlicht-Farbtest
Blender 2.9 Python Extrude extrudieren
Mixer, Python, Wendeltreppe
Führen Sie Blender mit Python aus
Mixer, Python, Kugelverhalten
Blender 2.8, Python-Cube-Skalierung
Betreiben Sie Blender mit Python
Hellblau mit AtCoder @Python
Blender 2.9, Python-Gebäude, Auto, Video
Mixer, Python, Wendeltreppe, Farbe
WIFI-Spot-Scan mit Python
Blender 2.9, Python ungerade gerade Gebäude
Blender 2.9, Python, hexadezimale Farbspezifikation
Blender Python API in Houdini (Python 3)
Generieren Sie 8 * 8 (64) Cubes mit Blender Python
Zeichnen Sie Sinuswellen mit Blender Python
Führen Sie mruby mit Python oder Blender aus
Installieren Sie Pytorch unter Blender 2.90 Python unter Windows
Verwenden Sie Blender als Python-Modul
Implementierung von Light CNN (Python Keras)
[Blender x Python] Lass uns zufällig meistern !!
[Blender x Python] Lass uns die Rotation meistern !!
Greifen Sie über Python auf die Shader-Knoten von Blender zu
Beginnen Sie mit Python mit Blender