motiv-stone

Übersicht: Python & Blender


Lernziel

a

Was kann modelliert werden? Das wohl häufigste Motiv sind Landschaften mit den folgenden Objekten, die wir zum Teil auch erzeugen wollen:

  • Wolken
  • Steine
  • Bäume
  • Gras
  • Wasser
  • Berge/Landschaft

Handlungsanweisungen

Aufgaben:
  1. Kopiere das Skript für den Wolken-Generator (vorherige Station).
  2. Was ändert sich? Welche Eigenschaften und Parameter müssen angepasst werden?
  3. Verteile 10 Steine auf einer Fläche mit den Abmessungen 20x20.

Wolken und Steine

Das Muster für die Erstellung von Steinen entspricht denen der Wolken. Das Skript sollte also schnell kopiert und die Anpassungen einfach sein.

Das Gerüst

use-cases/art/low-poly/stone-skel.py (Source)

#!bpy
"""
Name: 'Stone-Generator'
Blender: 2.7x
Group: 'Low poly'
Tooltip: 'Part of a Low-Poly-Skripts collection'
"""
import bpy


class Stone():
    """Create a stone as low poly"""

    def __init__(self):
        pass

    def setColor(self):
        pass

    def new(self):
        """ constuction of a new stone """
        pass

    def remove(self):
        """ Delete a stone or all"""
        pass

if __name__ == "__main__":

    # switch to object mode, if nessasary
    if bpy.ops.object.mode_set.poll():
        bpy.ops.object.mode_set(mode='OBJECT')
    stone = Stone()

Eigenschaften eines Steines

Diesmal sollte der Modifiere "DECIMATE" Verwendung finden, denn Steine sind durch Witterungseinflüsse oft abgerundet.

Die Anweisungen dazu ähneln denen des DISPLACE-Modifiers für die Wolken.

use-cases/art/low-poly/stone.py (Source)

        bpy.ops.object.modifier_add(type='DECIMATE')
        obj.modifiers["Decimate"].ratio = random.uniform(.1, .2)

Ein Beispiel:

/use-cases/art/low-poly/stones_big.png

Kommentare