Blender verfügt über Funktionen vom Typ Eigenschaft, die eine Benutzeroberfläche bereitstellen, über die Benutzer Werte angeben können. Unter diesen befindet sich EnumProperty **, das ein ** Auswahlfeld erstellt. Es gab kein Problem mit dieser Funktion und dem statischen Einstellen der Auswahl, aber ich war ein wenig verwirrt, als ich die Auswahl dynamisch einstellte, also für diejenigen, die das gleiche Problem hatten Ich möchte vorstellen.
Das Folgende ist ein Beispielcode zum statischen Festlegen der Auswahl zum Vergleich mit dem Fall des dynamischen Einstellens. ** Ein Auswahlfeld wird erstellt, indem die zuvor in Elementen ** erstellte Liste angegeben wird.
static_append.py
import bpy
from by.props import *
#Elemente, die Sie im Auswahlfeld anzeigen möchten
axis = (
("X", "X-axis", ""), # (Kennung,Anzeigename der Benutzeroberfläche,Erläuterungstext)
("Y", "Y-axis", ""),
("Z", "Z-axis", ""))
transform_axis = EnumProperty(
name = "Transform Axis", #Name
description = "Transform Axis", #Erläuterungstext
items = axis) #Artikelliste, die im Auswahlfeld angezeigt werden soll
Als nächstes wird der Beispielcode gezeigt, der die Auswahlelemente dynamisch festlegt. Hier gibt ** item eine Funktion zum Erstellen einer Artikelliste ** an.
dynamic_append.py
import bpy
from bpy.props import *
#
def get_object_list_callback(scene, context):
items = []
#...
return items
object_list = EnumProperty(
name = "Object List", #
description = "Object List", #
items = get_object_list_callback) #** Die in items angegebene Funktion wird jedes Mal aufgerufen, wenn auf die Variable object_list verwiesen wird **, sodass die Auswahlelemente dynamisch festgelegt werden können. Funktion zum Erstellen der Artikelliste, die Sie im Auswahlfeld anzeigen möchten Prozess zum Hinzufügen von Artikeln zu Artikeln Name Beschreibung Funktion zum Erstellen der Artikelliste
Recommended Posts