[PYTHON] Machen Sie einen Vorhanggenerator mit Blender

Überblick

Ich habe ein Programm erstellt, um mit dem Mixer ein Vorhangbild zu erstellen. Die ursprüngliche Geschichte ist [Wie man 3D aus 2D macht - Eine Geschichte, die überraschend cool war, als ich versuchte, Blender auf dem Server --pixiv inside auszuführen](http://inside.pixiv.net/entry/2015/09 / 24/173447).

Umgebung

Version: 2.74, Rendering Engine: Zyklen

Vorbereitung

Starten Sie zuerst den Mixer und blender1.png

Erstellen Sie eine Landschaft mit Vorhängen. Diesmal ist der Raum einfach ein Raum mit Vorhängen, und die weißen Vorhänge sind Spitzenvorhänge, durch die das Licht von außen hindurchtreten kann. Übrigens habe ich unter Modellieren mit Stoffsimulation in Blender --YouTube beschrieben, wie man einen Vorhang macht. Es wird sehr leicht verständlich erklärt. blender2.png

Implementierung

Die Materialien werden für jeden linken und rechten Vorhang festgelegt. Die Materialnamen sollten "Curtain.left" und "Curtain.right" sein.

  1. Textur einstellen
  2. Rendern
  3. Ausgabe als PNG

Dieser Vorgang erfolgt programmgesteuert. In Python geschrieben sieht es so aus:

import sys
import os
import bpy

# How to pass command line arguments to a Blender Python script? - Blender Stack Exchange
# http://blender.stackexchange.com/questions/6817/how-to-pass-command-line-arguments-to-a-blender-python-script
argv = sys.argv
[left, right, out] = argv[argv.index("--") + 1:]  # get all args after "--"

def update_filepath(material_name, filepath):
    t = bpy.data.materials[material_name].node_tree.nodes.get('Image Texture')
    t.image.filepath = filepath

update_filepath('curtain.left', os.path.abspath(left))
update_filepath('curtain.right', os.path.abspath(right))

bpy.ops.render.render()
bpy.data.images['Render Result'].save_render(filepath = os.path.abspath(out + '.png'))

Wenn du das machst

$ blender --background path/to/file.blend --python path/to/script.py -- left.png right.png rendered

So sieht es aus! Ich bin etwas laut geworden, habe aber noch keine Zeit. out.png

Referenz

Recommended Posts

Machen Sie einen Vorhanggenerator mit Blender
Erstellen Sie ein Lesezeichen in Python
[Blender] So erstellen Sie ein Blender-Plug-In
Lassen Sie uns eine Kombinationsberechnung mit Python durchführen
Erstellen Sie mit Flask einen einfachen Punktbildgenerator
Kopieren Sie die Liste in Python
Erstellen Sie ein cocos2d-Spiel mit einem Pixel-Doppelwinkelfenster
Mach ein Janken-Spiel in einer Zeile (Python)
Machen Sie mit Python eine Joyplot-ähnliche Handlung von R.
Lass uns ein Squashspiel machen
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Generatorfunktion auch in JavaScript
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Machen Sie einen Funktionsdekorateur
Erstellen Sie eine Distanzmatrix
diktieren in diktieren Macht ein Diktat ein Diktat
Pip in den Mixer geben
Ich mache ein Passwort!
Zundokokiyoshi (Generator) in Python
Machen Sie einen Nyan-Knopf
Mach ein Spiel im Tetris-Stil!
Lassen Sie uns ein Cron-Programm in Java erstellen! !! (TaskScheduler)
Erstellen Sie einen Base64-Decoder
Durchlaufen Sie einen Generator, der einen Datumsiterator in Python zurückgibt
Erstellen Sie mit QGIS Part 2 ein tky2jgd-Plug-In ohne praktische Anwendbarkeit
Erstellen Sie eine Multiplikationstabelle für jedes Element in einer Tabelle (Python).
Erstellen eines tky2jgd-Plug-Ins ohne praktische Anwendbarkeit mit QGIS Teil 1
Machen wir einen Spot Sale Service 4 (in Python Mini Hack-a-thon)
Kombinieren Sie Listen zu einem DataFrame mit Pandas
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich möchte einen Mox-Generator
Machen Sie einen Screenshot in Python
Machen wir einen Discord Bot.
Erstellen Sie ein Blueqat-Backend ~ Teil 1
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie ein Blueqat-Backend ~ Teil 2
[Django] Erstellen Sie ein Pulldown-Menü
Mach nicht test.py in Python!
Machen Sie einen LINE BOT (Chat)
Ich möchte einen Mox-Generator (2)
Machen Sie eine Lotterie mit Python
Machen Sie Responder zu einem Daemon (Dienst)
Stellen Sie Opencv in Python zur Verfügung
Segfo Python in 2 Zeilen
Blender Python API in Houdini (Python 3)
Generieren Sie 8 * 8 (64) Cubes mit Blender Python
Machen Sie ein Feuer mit kdeplot
Erstellen Sie einen Berechnungsbohrdruck
[Tutorial] Erstellen Sie mithilfe von maschinellem Lernen in 30 Minuten einen einzigartigen Ausdrucksextraktor
So machen Sie einen String in Python zu einem Array oder ein Array zu einem String
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann