[Blender x Python] Lass uns das Material beherrschen !!

Inhaltsverzeichnis

  1. Wie man Material hinzufügt
  2. Machen wir ein Glasmaterial !!
  3. Lass uns metallisch machen !!
  4. Text hinzufügen !!
  5. Englische Wörter

0. Wie man Material hinzufügt

0-1. Verfahren zum Hinzufügen von Materialien

① Erstellen Sie ein neues Material ② Machen Sie den Knoten nutzbar ③ Fügen Sie ein Objekt hinzu ④ Stellen Sie den Wert des Knotens ein ⑤ Wenden Sie das Material auf das Objekt an

0-2. Inhalt des prinzipiellen BSDF

◯ Jedem Element des Knotens wird eine Nummer in der Reihenfolge von 0 zugewiesen. Dieses Mal werde ich die Verwendung von Principled BSDF erklären.

Base Color→0 Subsurface→1 : Metallic→4 : Roughness→7 : Transmission→15

Es sieht aus wie das.

スクリーンショット 2020-11-13 19.19.02.png

◯ Verwenden Sie diese Option, um als Knoten ["Principled BSDF"] anzugeben. Eingänge [0].

1. Machen wir ein Glasmaterial !!

◯ Ein Programm zur Herstellung einer einfachen Glas-ico_sphere

import bpy

#Erstellen Sie ein neues Material
material_glass = bpy.data.materials.new('Green')
#Stellen Sie den Knoten zur Verfügung
material_glass.use_nodes = True
#Fügen Sie ein Objekt hinzu
bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=1, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))

#Legen Sie den Wert des Knotens fest
#Variable p_Erstellen Sie BSDF, um den Schreibaufwand zu reduzieren
p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
#0→BaseColor/7→roughness(=Rauheit)/15→transmission(=Vermehrung)
#default_value = (R, G, B, A)
p_BSDF.inputs[0].default_value = (0, 1, 0, 1)
p_BSDF.inputs[7].default_value = 0
p_BSDF.inputs[15].default_value = 1
#Fügen Sie einem Objekt Materialelemente hinzu
bpy.context.object.data.materials.append(material_glass)

cube02.png


◯ Ein Programm zum dreidimensionalen Anordnen von Glaswürfeln

import bpy

for i in range(0,5):
    for j in range(0,5):
        for k in range(0,5):
            #Erstellen Sie ein neues Material
            material_glass = bpy.data.materials.new('Red')
            #Stellen Sie den Knoten zur Verfügung
            material_glass.use_nodes = True
            bpy.ops.mesh.primitive_cube_add(
                size=0.8,
                #Bestimmen Sie die Länge, Breite und Höhe von jedem
                location=(i, j, k),
                )
            p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
            p_BSDF.inputs[0].default_value = (1, 0, 0, 1)
            p_BSDF.inputs[7].default_value = 0
            p_BSDF.inputs[15].default_value = 1
            bpy.context.object.data.materials.append(material_glass)

cube01.png


2. Lass uns metallisch machen !!

◯ Ein Programm, das metallische ico_spehre arrangiert

import bpy

#Wiederholen Sie die Verarbeitung 6 Mal
for i in range(0,6):
    #Erstellen Sie ein neues Material
    material_glass = bpy.data.materials.new('Blue')
    #Stellen Sie den Knoten zur Verfügung
    material_glass.use_nodes = True
    #ico_Funktion zum Hinzufügen einer Kugel
    bpy.ops.mesh.primitive_ico_sphere_add(
        #Machen Sie es glatter und glatter
        subdivisions=i+1,
        location=(i, 0, 0),
        scale=(0.7, 0.7, 0.7)
        )
    p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
    #0→BaseColor/4→Metallic(=Metall)/7→roughness(=Rauheit)
    p_BSDF.inputs[0].default_value = (0, 0, 1, 0.5)
    p_BSDF.inputs[4].default_value = 1
    p_BSDF.inputs[7].default_value = 0
    #Fügen Sie einem Objekt Materialelemente hinzu
    bpy.context.object.data.materials.append(material_glass)

cube03.png


◯ Ein Programm, das die Farben nach und nach ändert

Die Farbe kann nach und nach geändert werden, indem i, das sich bei jeder Wiederholung des Vorgangs ändert, durch die Farbe ersetzt wird.

import bpy
import math
import random

for i in range(0,10):
    #Weisen Sie der Variablen num einen zufälligen Wert von 0 bis 1 zu
    num = random.random()
    
    material_glass = bpy.data.materials.new('Blue')
    material_glass.use_nodes = True
    bpy.ops.mesh.primitive_torus_add(
        #180(Jedes Mal)×0~Zufälliger Wert von 1
        rotation=(math.pi * num, math.pi * num, 0),
        major_segments=64,
        minor_segments=3,
        major_radius=10-i,
        minor_radius=0.1,
         )
    p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
    p_BSDF.inputs[4].default_value = 1
    p_BSDF.inputs[7].default_value = 0
    p_BSDF.inputs[0].default_value = (0, 0, 1 - i/10, 1)
    bpy.context.object.data.materials.append(material_glass)

e.png


3. Text hinzufügen !!

3-1. So fügen Sie Text hinzu

◯ Geben Sie einfachen Text ein.

import bpy

#Fügen Sie Text hinzu, um die Bearbeitung im Bearbeitungsmodus zu ermöglichen
bpy.ops.object.text_add(enter_editmode = True,location = (0,0,0))
#Löschen Sie den Anfangstext
bpy.ops.font.delete(type = 'PREVIOUS_WORD')
#Text eingeben
bpy.ops.font.text_insert(text = 'Blender')
#Beenden Sie den Bearbeitungsmodus
bpy.ops.object.editmode_toggle()

スクリーンショット 2020-11-13 20.14.23.png


3-1. Erstellen Sie metallischen Text

◯ Kombinieren Sie metallisches Material mit Text.

import bpy

material_glass = bpy.data.materials.new('Blue')
#Stellen Sie den Knoten zur Verfügung
material_glass.use_nodes = True

#Fügen Sie Text hinzu, um die Bearbeitung im Bearbeitungsmodus zu ermöglichen
bpy.ops.object.text_add(enter_editmode = True,location = (0,0,0))
#Löschen Sie den Anfangstext
bpy.ops.font.delete(type = 'PREVIOUS_WORD')
#Text eingeben
bpy.ops.font.text_insert(text = 'Blender')
#Beenden Sie den Bearbeitungsmodus
bpy.ops.object.editmode_toggle()

#Passen Sie den Knoten an
p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
p_BSDF.inputs[4].default_value = 1
p_BSDF.inputs[7].default_value = 0
p_BSDF.inputs[0].default_value = (0, 0, 1, 1)
bpy.context.object.data.materials.append(material_glass)

e1.png


4. Englische Wörter

englische Wörter Übersetzung
material Material
default Standard/Standard
value Wert
append Hinzufügen
object Dinge, Objekte
edit Bearbeiten
type Art
delete Löschen
toggle Schalten
operation(ops) Operation
add hinzufügen
segment Abteilung, Abteilung
insert einfügen
input Holen Sie sich, erhalten Sie
previous Zurück, vorher
principled Prinzip, Prinzip
subdivision Unterteilung

Recommended Posts

[Blender x Python] Lass uns das Material beherrschen !!
[Blender x Python] Lass uns zufällig meistern !!
[Blender x Python] Lass uns die Rotation meistern !!
[Blender x Python] Beginnen wir mit Blender Python !!
[Blender x Python] Lassen Sie uns eine Menge Susanne ordentlich arrangieren !!
[Python] Lass uns alle und jeden meistern
Beherrsche den Typ mit Python [Python 3.9 kompatibel]
Beherrsche das schwache Ref-Modul in Python
Lesen wir die RINEX-Datei mit Python ①
Fassen wir den Python-Codierungsstandard PEP8 (1) zusammen.
Fassen wir den Python-Codierungsstandard PEP8 (2) zusammen.
Einführung in Python Bereiten wir die Entwicklungsumgebung vor
Lassen Sie uns das Git-Commit-Protokoll in Python analysieren!
[Python] Lassen Sie uns das Modul regelmäßig nach Zeitplan ausführen
Blender 2.9 Python Extrude extrudieren
Ruft den Fenstertitel des X-Fenstersystems in Python ab
Excel X Python Die schnellste Arbeitstechnik
[Algorithmus x Python] Verwendung der Liste
[Blender x Python] Denken Sie an Code mit Symbolen
Laden Sie Dateien herunter, während Sie den Fortschritt in Python 3.x anzeigen
In Python sortieren. Lassen Sie uns als nächstes über den Algorithmus nachdenken.
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Lassen Sie uns die Grundlagen des Python-Codes von TensorFlow aufschlüsseln
Ich habe mir die Versionen von Blender und Python angesehen
(◎◎) {Lass Python die langweiligen Dinge machen) ......... (Hey? Lass uns Python die Hausaufgaben machen} (゜) (゜)
Verwenden wir die Python-Version des Confluence-API-Moduls.
Der erste Schritt, um Blender von Python verfügbar zu machen
Verwenden wir die offenen Daten von "Mamebus" in Python
[Python] Erinnern wir uns an den neuen Schreibstil nach pip10
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Finden Sie das maximale Python
Beherrsche die Einschlussnotation
Python-String-Manipulations-Master
der Zen von Python
Mixer, Python, Wendeltreppe
Führen Sie Blender mit Python aus
Mixer, Python, Kugelverhalten
Blender 2.8, Python-Cube-Skalierung
Betreiben Sie Blender mit Python
[Python] Teilen Sie das Datum
Sehen wir uns die Sprachspezifikationen für Python-Iteratoren und -Generatoren an
Den Typ mit Python beherrschen? (Wann ist eine Typprüfung durchzuführen?)
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
Ich habe gerade das Originalmaterial für den Python-Beispielcode geschrieben