Aufreißwerkzeug

Ihalt

Einleitung

Dieses Python-Skript ist ein kleines Plugin für das Programm Blender. Blender ist eine freie Software, mit der dreidimensionale Objekte und Trickfilme produziert werden. Dieses Werkzeug ist zum Erzeugen von Rissen in Objekten des typs Mesh erstellt worden. Es könnte ein Ersatz für das Original-Aufreißwerkzeug ("Rip") werden. Diese Seite ist also eher ein Vergleich zwischen meinem und dem Original-Werkzeug. Deshalb empfehle ich, Die Seite über das Original-Werkzeug zuerst zu lesen. (Sie Finden sie in www.blender.org → Development → Release Logs → Blender 2.40 → Mesh Ripping).

Versionen:

1

1.1

Kurzanleitung:

  1. Öffnen Sie rip.py im Text-Fenster (Abb. 1).
  2. Klicken Sie in einer 3D-Ansicht auf View → Space Handler Scripts → Event: rip.py , um dieses Skript zu aktivieren. (Abb. 2).
  3. Wechseln Sie in den Bearbeitungsmodus ("edit mode") und wählen Sie das editing panel im buttons-Fenster. Klicken Sie in Mesh Tools More auf draw Creases, um die Risse sichtbar zu machen. (Abb. 3).
  4. Markieren Sie ein paar Kanten eines Objektes vom Typ Mesh oder ein paar Eckpunkte aus einer Kette von Kanten, welche nicht an Flächen grenzen.
  5. Drücken Sie die Taste "d". Dies erzeugt den Riss. 1. Achtung: Im Gegensatz zum Original-Aufreißwerkzeug müssen Sie pro Rissende eine Kante mehr markieren.

1: Sie können die Hotkey-Taste frei wählen. Hierfür müssen Sie das Python-Skript ändern, nämlich den Buchstaben, der in Abb. 3 markiert ist. Die Hotkey-Taste überschreibt andere Funktionen, die auf dieser Taste liegen. Sie scheint auch Kombinationen mit Shift zu überschreiben.

*: Ich habe die Bilder ein wenig manipuliert, weil die Titelzeile des Fensters nur den Pfad meiner Datei zeigt, weil die Menüs nicht über das Fenster hinausragen und weil ein so kleines Fenster keine Eckpunktzahl anzeigt.

Unterstützt:

Nur Objekte des Typs Mesh werden unterstützt. Im Gegensatzt zum Original-Aufreißwerkzeug können Risse auch Dreiecke spalten.

Vergleich der Aufreißwerkzeuge

original tool Mein Python-Skript
Wechselt hinterher in den Bewegungsmodus. Bewegt nichts, markiert den Riss aber als Falte (crease).
Gibt Rückmeldung Gibt außer der Markierung keine Rückmeldung
Anscheinend müssen mehrere zusammenhängende Kantenabschnitte auf demselben Kantenring (edge loop) sein, damit man sie auf einmal zerschneiden kann Mehrere Abschnitte können unabhängig von der Anordnung gleichzeitig zerschnitten werden.
Kann keine Dreiecke spalten. Fast jede Ansammlung markierter Kanten kann zerschnitten werden. Ausnahme: Einzelne Kanten oder Eckpunkte in regulären Oberflächen liefern kein Ergebnis. Auch einzelne lose Eckpunkte und Kanten können nicht zerschnitten werden.
Probleme beim Scheiden einer Ansammlung von Kanten, die eine Fläche zweimal berührt.
Star-shaped fissure cannot be generated at once.
As little as a vertex suffices to generate a fissure. The user has to select one more edge for each end of the fissure. At least two neighbouring edges have to be selected in manifold surfaces.
The tool doesn't seem to support edge chains without faces. Edge chains without faces can be split up by using the python script on a vertex.
The tool does not seem to alter any properties of the mesh (smoothness, crease weight, others still to be tested). The fissure might interfere with user's textures because of crease weight (not tested). It also removes smoothness and probably many more properties around the fissure (also not tested but obvious from source code).

Tutorial:

Öffnen Sierip.blend.

Objekt 1

Markieren Sie ein paar Kanten im ersten Objekt. Benutzen Sie den Slash auf dem Nummernblock (/ bzw. ÷), um den Rest vorübergehend unsichtbar zu machen. Drücken Sie die Taste "d". Dies erzeugt den Riss. Wie Sie sehen, erhöht dies auch die Anzahl der Eckpunkte und Kanten (Abb. 3-4) Das Skript hat den Riss als Falte markiert, um ihn sichtbar zu machen. Es hat allerdings nicht in den Bewegungsmodus gewechset. Wenn sie den Riss also öffnen wollen, müssen Sie dies von Hand machen (Abb. 5)

*: Bild manipuliert

Versuchen Sie dies jetzt mit dem Original-Aufreißwerkzeug. Arbeiten Sie mit dem Objekt in der zweiten Spalte und der ersten Zeile. (Abb. 6, machen Sie Objekte wieder sichtbar mit Nummernblock-/). Sie müssen weniger Kanten markieren, um dasselbe Ergebnis zu erhalten. Drücken Sie die Taste "v", um mit dem Original-Werkzeug aufzureißen. Dieses wechselt anschließend in den Bewegungsmodus. Auf diese Weise merken Sie direkt, ob es funktioniert hat (Abb. 7, die y-Achse ist durch drücken der Taste "y" blockiert). Die Position des Mauszeigers bestimmt, welcher Teil des Risses bewegt wird.

Sorgen Sie dafür, dass Sie im Kantenmarkiermodus () sind, bevor Sie Objekt 2 bearbeiten.

Objekt 2

Das Objekt in der zweiten Reihe wird eine Tulpe. (Abb. 8). Markieren Sie ein paar Kanten, sodass die Tulpe in vier Blätter geteilt wird. Drücken Sie "d". Dies sollte die Blätter auseinandergeschnitten haben. (Abb. 9). Bewegen Sie die vier Eckpunkte an den Blattspitzen horizontal um 1,5 Einheiten mit aktiviertem proportional editing falloff (in der Einstellung "connected") und mit auf "sharp" eingestelltem falloff (Abb. 10, durch drücken der Tasten x oder y werden die Achsen blockiert). Machen Sie den proportional editing-Radius groß, aber immer noch klein genug, sodass Sie nur ein Blatt gleichzeitig bewegen. (Benutzen Sie das Scrollrad der Maus). Es sieht jetzt fast wie eine Tulpe aus (Abb. 11). Leider sind die Flächen nicht mehr glatt. Sie müssen also wieder den "set smooth"-Button anklicken. (Sie finden ihn im Buttons-Fenster, editing panel, links and materials).

Versuchen Sie jetzt dasselbe mit dem Original-Aufreißwerkzeug. (Abb. 12). Sie müssen die Blätter in zwei Schritten aufschneiden und wieder weniger Kanten markieren als mit dem Python-Skript (Abb. 13-14). Brechen Sie die Bewegung mit der Escape-Taste ab und Bewegen Sie die Eckpunkte hinterher von Hand. Das Original-Aufreißwerkzeug zerstört nicht die Glattheit und erzeugt keine Falten (creases). Deshalb erzeugt der "subsurf modifier" runde Blattspitzen. (Abb. 15)

Deaktivieren Sie proportional editing falloff (), bevor Sie mit Objekt 3 weiterarbeiten und wechseln Sie in den Eckpunktmarkiermodus ()

Objekt 3

Im dritten und vierten Objekt wird das Aufreißwerkzeug auf Kanten angewendet, die keine Flächen begrenzen. Markieren Sie ein paar Eckpunkte und drücken Sie die Taste "d" (Abb. 16). Wie Sie durch Bewegen von einzelnen Eckpunkten überprüfen können, hat das Werkzeug das Objekt in lose Abschnitte unterteilt (Abb. 17). Das Python-Skript hat die getrennten Eckpunkte jedoch nicht markiert, da ich als Autor des Skriptes nicht weiß, wie das geht. Es scheint allerdings unmöglich, ein solches Objekt mit dem Original-Werkzeug aufzureißen.

Wechseln sie in den Eckpunkt-Markiermodus (), bevor Sie Objekt 4 bearbeiten.

Objekt 4

Das vierte Objekt zeigt, wie Kanten, die keine Flächen begrenzen, von einer Fläche getrennt werden können (Abb. 18-19). Markieren Sie ein paar Eckpunkte und drücken Sie die Taste "d" (Abb. 20). Sie können die Kanten nachher bewegen, um das Ergebnis zu überprüfen (Abb. 21-22). Wenn Sie das Skript auf einzelne Eckpunkte anwenden, verändern Sie nichts an der Oberfläche des Objektes. Die Markierung beinhaltete jedoch eine Kante, die die Oberfläche aufriss. Dieses Beispiel zeigt auch die Fähigkeit des Skriptes, mehrere getrennte Abschnitte gleichzeitig aufzureißen und und die Fähigkeit, gleichzeitig Risse zu produzieren und lose Kanten zu trennen. Falls das Skript zu viel getrennt hat, müssen einzelne Eckpunkte wieder verschweißt werden. Dies geht im buttons-Fenster, im Editing Panel unter Mesh Tools mit dem Remove doubles-Button. Markieren Sie die Eckpunkte indirekt, indem Sie den Kantemarkiermodus verwenden. So gehen Sie sicher, dass Sie die richtigen Punkte markieren.

Das Original-Aufreißwerkzeug scheint diese Art von Objekten nicht zu unterstützen, da es einige Kanten entfernt (Die Position des Mauszeigers entscheidet, welcher Riss entsteht).

Objekt 5

Dieses Beispiel zeigt einen Riss, den das Python-Skript nicht erzeugen kann. Fangen Sie diesmal mit dem Original-Werkzeug an (Abb. 23). Sie könnten das Objekt in der Mitte so aufreißen wollen, dass es am Rand verbunden bleibt. Markieren Sie den mittleren Eckpunkt und drücken Sie die Taste "v". (Abb. 24). Abhängig von der Position des Mauszeigers ist der entstehende Riss horizontal oder vertikal. Versuchen Sie dies jetzt mit dem Python-Skript (linkes Objekt). Wenn Sie den mittleren Punkt markieren und die Taste "d" drücken, passiert nichts; sie müssen also beide Kanten markieren und das Objekt komplett durchschneiden. (Abb. 25). Sie müssen die Eckpunkte hinterher mit dem Remove doubles-Button verschweißen (Abb. 26). Tipp: Falls Sie die Eckpunkte mit lasso region select markieren wollen, müssen Sie eventuell die Hintergrundverdeckung () ausschalten.

Wechseln Sie bitte in den Eckpunktmarkiermodus (), bevor Sie fortfahren.

Objekt 6

Dieser Ikosaeder (Leertaste → Add → Mesh → icosphere; Unterteilungen/subdivisions: 1) zeigt, dass das Python-Skript keine Probleme mit Dreiecken hat (Abb. 27-28). Markieren Sie ein paar Kanten, die einen geschlossenen Ring bilden, und drücken Sie die Taste "d". Markieren Sie dann eine beliebige Fläche und drücken Sie Strg (Steuerung)-"L" (select linked). Bewegen Sie die Flächen nach oben (Abb. 29). Übrigens kann dieser Riss nur mit dem Kanten-Markiermodus erzeugt werden. Falls Sie vorher in den Eckpunkt-Markiermodus wechseln, pulverisieren Sie den ganzen Ikosaeder.

Dies ist das Ende der Anleitung. Danke für`s Lesen.

Disclaimer:

Copyright © Fabian Hombsch.