blender freestyle

Interview: Tamito Kajiyama von Freestyle

BlenderDiplom sprach mit Tamito Kajiyama, dem Freestyle-Entwickler, der die Integration in Blender bisher am weitesten begleitet hat. Seit 2009 ist er der Hauptverantwortliche für das Projekt.

BD: Hallo Tamito, erzähl uns doch ein wenig über dich und deine Rolle beim Projekt „Freestyle Integration“.

Tamito Kajiyama: Ich bin ein Amateur-Softwareentwickler und engangiere mich schon seit Jahren im Bereich Open Source und freie Software. Meine Programmiererfahrungen liegen vor allem im Bereich der Programmiersprache Python und ihrer Anwendung. Beispiele sind ein japanischer Unicode En- und Dekodierer für Python, diverse Add-on-Skripte für ein 2D-Vektor-Malprogramm und interaktive virtuelle Figuren für den Desktop. Blender nutze ich noch nicht so lange, ich habe damit im Jahr 2006 angefangen. Seit 2008 arbeite ich an der Integration von Freestyle in Blender. Anfangs zusammen mit Maxime Curioni, der das Projekt im gleichen Jahr im Rahmen des Google Summer of Code (GsoC) angestoßen hatte. Seit 2009 bin ich Leiter des Projekts.

BD: Wie würdest du Freestyle beschreiben?

Tamito Kajiyama: Hier würde ich gerne meine Beschreibung aus den Release-Notes für Blender 2.67 zitieren: „Freestyle ist eine neue, nicht photorealistische (NPR) Render-Engine, integriert in Blender. Ursprünglich wurde sie als Standalone-Programm in einem akademischen Forschungsprojekt entwickelt. Freestyle stellt dem Blender-Nutzer ein neues Tool bereit zum Erstellen von 2D-Linienzeichnungen aus einer gegebenen 3D-Szene, die mit Blender erstellt wurde. Die erzeugten Linien können mit einer Vielzahl von Optionen stilisiert werden wie Farbe, Transparenz, Liniendicke und Geometrie der Linien. Die dadurch erzeugte Zeichnung kann mit anderen Render-Komponenten, wie zum Beispiel Render-Passes vom Blender-internen Renderer oder Cycles, über Render-Layer und den Compositor kombiniert werden. Beispiele für die Nutzung von Freestyle sind Cartoon-Rendering, Architekturvisualisierung, technische Zeichnungen, Blaupausen und computergenerierte Skizzen. Freestyle erweitert die Render-Möglichkeiten von Blender auf der Basis von geometriebasierten Visualisierungslösungen zugeschnitten auf 2D-artige Computergrafik.“

blender freestyle

BD: Wann hast du zum ersten Mal von Freestyle gehört und warum hast du beschlossen, an der Integration in Blender mitzuwirken?

Tamito Kajiyama: Wenn ich mich recht entsinne, habe ich von Freestyle durch einen Nachrichtenartikel über Blender-bezogene Projekte im Rahmen des GsoC 2008-Programms erfahren. Maximes Vorschlag, Freestyle zu integrieren, war eines der akzeptierten Projekte. Seit ich mit Blender meine ersten Erfahrungen gesammelt habe, war Cartoon-Rendering meine Lieblingsanwendung von 3D-Kunst. Ich hatte bis dahin wenig Erfolg damit, in Blender cartoon-ähnliche Effekte zu erzielen. Die von Freestyle beworbenen Möglichkeiten waren für mich daher sehr attraktiv. Ich begann mit dem Standalone-Freestyle-Programm zu arbeiten und war schlicht beeindruckt von den Ergebnissen. Anfang September kam dann das erste Windows-Build des Freestyle-Zweigs von Blender heraus. Ich war einer der vielen Blender-Nutzer, die auf die Arbeit vom Maxime schon seit Monaten warteten, also habe ich mich gleich darauf gestürzt. Die Resultate der ersten Rendering-Tests von Freestyle in Blender waren einfach großartig. Währenddessen fand ich ein paar kleine technische Probleme, die ich selbst beheben konnte. Seither arbeitete ich mit Maxime, um die Integration von Freestyle in Blender zu verbessern. Für mich war es eine glasklare Entscheidung, ein wenig Verantwortung zu übernehmen, sowohl als Mitglied des Teams um den Freestyle-Zweig als auch als Blender-Commiter. Denn für mich war es ein Vergnügen, direkt zu den Verbesserungen beitragen zu können.

BD: Warum hat die Integration so lange gedauert und was waren die größten Hürden, die du überwinden musstest?

Tamito Kajiyama: Das Ganze hat deswegen fünf Jahre gedauert, weil das Projekt nur wenige Mitglieder mit wenig Zeit hatte. Nachdem ich es im Jahr 2009 übernommen hatte, war ich der einzige aktive Entwickler, der an Freestyle in Blender gearbeitet hat. Ich habe sowohl Familie als auch Arbeit und konnte daher nicht viel Zeit in Freestyle stecken. Ich wusste, dass die Erwartungen der Nutzer sehr hoch waren, aber ich habe mir absichtlich keinen Stress gemacht, da das Projekt für mich eine Freizeitbeschäftigung war.

Neben den beschränkten Ressourcen gab es noch zahlreiche technische Schwierigkeiten im Freestyle-Branch, die geraume Zeit und Entwicklungsaufwand in Anspruch nahmen. Die größten Hürden waren Stabilität und die Interaktion zwischen Mensch und Maschine.

Am Anfang des Projekts war das Linien-Rendern mit Freestyle sehr instabil. Das Programm stürzte selbst bei einfachsten Szenen ab. Zum Beipiel konnte Freestyle keine Szene rendern, wenn sich Objekte hinter der Kamera befanden. Solche Szenen resultierten in den meisten Fällen in einem Programmabsturz. Das war ein äußerst kritisches Problem, besonders für Animationen. Außerdem gab es noch viele Fälle, in denen das Resultat nicht den Erwartungen entsprach, und hässliche Artefakte. Ein häufig auftretendes Problem waren zufällige Linien, die nur in einem kleinen Teil der Bilder einer Animation auftauchten. Diese Probleme von Instabilität und Artefakten waren die Hauptpriorität des Integrationsprojekts, und die Stabilität sowohl des Programms als auch der Ausgabe hat sich seither deutlich gebessert.

Man muss darauf hinweisen, dass die ursprüngliche Instabilität der Freestyle Render Engine eine natürliche Folge ihres Ursprungs im akademischen Umfeld war und nicht Schuld der Autoren. Wie in vielen anderen Bereichen von Wissenschaft und Technik geht es in der Computergrafik darum, so viele Publikationen wie nur möglich anzusammeln. Diese sind in der Form von technischen Papern und Büchern. In diesem Kontext sind die dazugehörigen Softwareprodukte häufig in vielen Bereichen unfertig. Vollständig funktionsfähige Programme sind eben meist nicht notwendig für die Experimente, die eine Publikation begleiten. Ich vermute, der Hauptanteil von akademisch entstandenem Code wird nach einer Publikation irgendwo gespeichert und wird der Öffentlichkeit nie zugänglich gemacht. Vermutlich, weil Wissenschaftler nicht genug Ressourcen haben, um ihren Code fertig zu schreiben und zu veröffentlichen. In dieser Hinsicht ist Freestyle ein Glücksfall, denn die ursprünglichen Autoren hatten beschlossen, ihre Forschungsergebnisse als freie Software zu veröffentlichen. Ich hatte die seltene Gelegenheit, Freestyle aus einem akademischen Produkt in ein robustes System für Computergrafik zu verwandeln, das bei einem weiten Feld von echten Anwendungen hilfreich sein kann. Das war (und ist immer noch) eine große Herausforderung des Freestyle-Projekts.

blender freestyle

Eine weitere Komponente des Projekts, die mehr Zeit benötigte als erwartet, war die Entwicklung einer grafischen Benutzeroberfläche (GUI), die für Künstler einfach zu bedienen ist. Freestyle ist so aufgebaut, dass der Nutzer über Python vieles programmieren kann. Am Anfang des Integrationsprojekts wurde von den Nutzern erwartet, dass sie ihre eigenen Stil-Module über Python erstellten. Diese Vorraussetzung hat den Nutzerkreis natürlich ganz schön eingeschränkt. Blender-Nutzer sind ja nicht von Natur aus Python-Progammierer. Ich habe immer wieder Anfragen nach einem künstlerfreundlichen GUI erhalten, mit dem man die Parameter für die Linienstile interaktiv bearbeiten kann. Ursprünglich sollte das implementiert werden, nachdem Freestyle im Hauptentwicklungszweig von Blender gelandet war. Aber der Bedarf nach einem GUI für Freestyle war einfach sehr groß. Also wurde beschlossen, zuerst ein GUI zu erstellen und dann das Projekt in Blender aufzunehmen. Das GUI musste von Grund auf erstellt werden. Mein Designziel war, die Optionen für das Erstellen von Linienstilen so flexibel wie nur möglich zu gestalten. Am besten wäre gewesen, wenn das GUI erlaubt hätte, all das zu tun, was über Python möglich war. Dabei wurde auch ein Node-basiertes Interface diskutiert, aber das wäre in Anbetracht des Aufwands und der Entwicklungszeit nicht machbar gewesen. Stattdessen wurde der Weg gewählt, dass ein festgelegter Satz von Linienstil-Optionen sorgfältig ausgewählt und als Teil der Benutzeroberfläche von Blender implementiert wurde. Das jetzige GUI ist das Ergebnis von vielen Designversuchen und Updates über einen großen Zeitraum. Ich hoffe, damit können Blender-Nutzer die Möglichkeiten von Freestyle so weit es geht ausreizen.

BD: Schon lange bevor Freestyle im Hauptzweig von Blender gelandet ist, wurden damit beachtliche Werke erstellt. Hast du während dieser Zeit von den Nutzern gutes Feedback erhalten?

Tamito Kajiyama: Ja, von den Early Adopters des Freestyle-Zweiges habe ich eine große Menge an Feedback erhalten. Dieses Feedback von den Nutzern war essentiell für mich, um die Freestyle-Integration zu Ende zu bringen. Es gab viele Formen von Nutzer-Feedback: Bug-Reports, Tests von Fehlerbeseitigungen und neuen Features, manche Nutzer erstellten regelmäßig Builds des Freestyle-Zweigs, andere teilten ihre mit Freestyle erzielten Resultate und manche schrieben technische Dokumentationen. Grundsätzlich bin ich aus eigenem Antrieb motiviert und arbeite an Freestyle, weil ich das Programm selbst nutzen möchte. Aber ich finde es auch toll, wenn ich sehe, wie andere von meiner Arbeit profitieren. Dieses Gefühl ist sowohl belohnend als auch animierend. Im Falle von Freestyle war das ständige Feedback der Nutzer eine große Hilfe, um einen langen Weg zu Ende zu gehen.

BD: Über Monate, wenn nicht gar Jahre, haben Blender-Nutzer darum gebeten, wenn nicht sogar gebettelt, dass Freestyle doch endlich in der offiziellen Blender-Version landen solle. War das motivierend oder nervend?

Tamito Kajiyama: Die Rückmeldungen der Freestyle-Nutzer waren absolut motivierend, denn auf der Nutzerseite war immer etwas Neues zu entdecken. Mit der Zeit dürften manche Nutzer das Interesse verloren haben, aber es gibt immer Neuzugänge mit frischem Interesse an neuen Anwendungen. Eine derart dynamische und aktive Nutzerbasis zu haben, war ein großes Plus für das Freestyle-Integrationsprojekt. Natürlich gab es Anfragen von Nutzern, die nicht so leicht zu beantworten waren und über die ich lange nachdenken musste. Aber das gehört dazu und grundsätzlich habe ich sie gerne bearbeitet.

BD: Suchst du aktiv nach Freestyle-Kunstwerken und was war deiner Meinung nach bisher die genialste Form der Nutzung?

Tamito Kajiyama: Schon seit die Integrationsarbeiten angefangen haben, suche ich aktiv nach Anwendungen von Freestyle durch die Blender-Nutzer. Ich mag Freestyle-Kunst einfach und sehe Positives, egal wie die Gesamtqualität ist. Es ist für mich also nicht einfach, die beste Anwendung auszuwählen. Ich habe hier ein paar Beispiele gesammelt:

blender freestyle
Ryuichi Oosawa hätte mit diesem Bild beinahe den Splash-Screen-Contest von Blender 2.67 gewonnen.
blender freestyle
Overweight Boss: Dieses Freestyle- Bild von McLelun wurde von Tamito Kajiyama als Splash-Screen für die Version 2.67 von Blender ausgewählt.

Dieses Interview erschien im Magazin Digital Production, Ausgabe 1401. Den zugehörigen Artikel zu NPR-Rendering mit Freestyle finden Sie hier auf BlenderDiplom. Herunterladen können Sie Artikel und Interview hier im PDF-Format.