Frage von ModernTV, 35

Kann man in Blender 3D Objekte/Animation durch Programme generieren?

Wenn man .blend Dateien(von Blender) mit dem Texteditor von Windows(oder andren ähnlichen Programmen) öffnet erscheint ein Text der komisch aussieht. Ich habe versuchte die „Sprache“ zu entziffern was auch nach Stunden mir nur teilweise gelungen ist. Meine Idee ist das man die „Sprache“ „versteht“ und dann mit z.B. Java ein Programm entwickelt um Objekte(Animationen) zu generieren. Das Programm würde dann den .blend Code liefern denn man dann in die .blend Datei einfügt. Was sagt ihr dazu? Ist das möglich? Oder gibt es andre Möglichkeiten so was Ähnliches zu machen zu machen? Fragen bitte stellen(wenn unklar)! Danke voraus!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von TeeTier, Community-Experte für programmieren, 35

Blend-Dateien sind Binär-Blobs, die du nicht mit einem Texteditor bearbeiten kannst.

Allerdings sind fast ALLE Funktionen in Blender selbst, in Python realisiert. Das User-Interface, sämtliche Tools, Mesh-Generatoren, ... alles in Python geschrieben.

Ohne Python wäre Blender ein schwarzes Fenster ohne Inhalt. Und da Blender so massiv auf Python setzt, kann man in Blender natürlich auch wiederum fast ALLES automatisieren.

Dazu kannst du sogar komplexe große Programme in Python schreiben, die innerhalb von Blender geladen und ausgeführt werden.

Jemand der wirklich gut mit Blender umgehen kann, wird auch mit Python skripten können. Kann er das nicht, ist er einfach nicht gut und sollte sich weiter bilden.

Anders gesagt: Wer mit Blender arbeitet, und KEIN Python-Skripting einsetzt, der hat noch nicht mal an der Oberfläche der Möglichkeiten gekratzt, die Blender bietet.

Guck dir mal das Bannerbild in meinem Profil an. Das hat ein Python Skript in Blender zufällig generiert. Oder das hier:

http://postimg.org/image/igdzu7ej9/

Wenn man so etwas per Hand machen würde, säße man da mehrere Tage dran. (Da die Eumel wirklich alle unterschiedlich sind!)

Also um deine Frage abschließend zu beantworten: Ja, man kann Animationen, Objekte, Texturen, Wasauchimmer durch Programme generieren lassen. In Blender kannst du nahezu alles automatisieren!

Viel Spaß! :)

Kommentar von ModernTV ,

Wie Lernen ich am besten Python mit Bücher, Videos oder andrem was würden sie empfehlen.

Kommentar von TeeTier ,

Python ist eine sehr anfängerfreundliche Skriptsprache, die erst mal überhaupt nichts mit Blender zu tun hat. Sie lässt sich allerdings spielend leicht in andere Programme integrieren, und erlaubt es dann diese Programme zu steuern. Und genauso funktioniert das auch bei Blender:

Die Timeline, der Outliner, die unzähligen Einstellungen für Texturen & Materialien, Objekte, Meshes, Splines, etc. sind alles Python-Module. Die kleinen Dialoge, in denen man die Einstellungen vornimmt, wenn man einen Mesh-Zylinder, oder einfach nur eine Box erstellen will, sind ebenfalls alles Python-Skripte.

Ich würde es NICHT empfehlen, Python mit Blender zu lernen. Auch wenn ein Einsteiger denken würde, dass er dadurch vielleicht schneller ans Ziel kommt, ist es vermutlich besser, erst reines Python zu lernen, und dann später - wenn man diese Skriptsprache halbwegs beherrscht - in die Blenderspezifischen APIs einzutauchen.

Wenn du sehr schnell lernst, bist du in ein paar Wochen soweit, Python effektiv in Blender einsetzen zu können. Das hängt natürlich von der Komplexität ab, aber einige einfache Dinge sollten spätestens nach 2 Wochen Möglich sein. (Zum Beispiel dieser berühmte Effekt, dass in einer Weltraum-Szene die Kamera vibriert, wenn ein Objekt dicht daran vorbei fliegt ... das sieht man in fast allen Science-Fiction-Filmen, und das dürfte oftmals durch Skripting gelöst worden sein)

Noch eine Warnung vorweg: Völlig ohne Programmmiererfahrung wird der Einstieg selbst mit Python hart werden! Da musst du dich durchbeißen. Bei Amazon gibt es viele gute Bücher zu dem Thema, aber wenn dein Englisch 7-Klässler Niveau hat, solltest du mit dem Tutorial auf der offiziellen Website gut klar kommen:

https://docs.python.org/3/

Dort gibt es einen nicht zu übersehenden Link "Tutorial" mit dem Untertitel "start here". Dort solltest du anfangen und dort wird dir alles erklärt. Die anderen Hauptkategorien auf dieser Seite, vor allem "Library Reference" sind ebenfalls sehr wichtig wenn du etwas fortgeschritten bist.

Wenn du die Grundlagen beherrschst, findest du auf der offiziellen Blenderseite viele Anleitungen für die Python-Automatisierung, und die spezielle Blender-API.

Also dann ... alles weitere würde den Rahmen deiner Frage, meiner Antwort, und den Kommentaren hier sprengen. Python ist ein großes und komplexes eigenständiges Thema.

Viel Erfolg, und halte durch, auch wenn es verdammt schwer werden wird! Wenn du es schaffst durchzuhalten, kannst du mit Sicherheit schon nach wenigen Wochen die Früchte deiner Arbeit ernten. Und denke nicht, dass du während des Lernens 100%ig alles verstehen musst. Das tut keiner! Jeder hat am Anfang Stellen mit Wissenslücken, die sich dann mit der Zeit fast automatisch schließen.

Viel Spaß! :)

PS: Googel ruhig mal nach "makehuman", was ich in meinem anderen Kommentar erwähnt habe. Das ist im Grunde genommen nur ein Python-Skript, was die Blender-API benutzt. Daran siehst du schon, was damit alles Möglich ist.

PPS: Fast alle Funktionen, die mit jeder neuen Blender-Version hinzu kommen, gab es vorher schon in Form von Python-Modulen. Zum Beispiel, dass bei der Liquid-Simulation die Stellen der Gefäßwand "nass" werden (sprich ein anderes Material erhalten), als die trockenen Stellen. :)

Kommentar von ModernTV ,

Kannst du mir bitte helfen den wenn ich python öffene das erscheint nur ein schwarzes Fenster das gleich wieder verschwiendet. Und Python öffnet sich nicht.

Antwort
von herja, 34

Hi,

möglich ist das vielleicht, doch wozu soll das gut sein?

Blender kann das alles viel besser, als du das jemals programmieren könntest.

Kommentar von TeeTier ,

Das ist ein Trugschluss und das Gegenteil ist der Fall. Alles Programmierte wird sauberer, exakter und schneller ablaufen, als man es je per Hand machen könnte.

Natürlich nur, wenn man bei Blender an seine Grenzen stößt, da Blender wirklich viele Werkzeuge bietet.

Aber guck dir mal die ganzen Animationsfilmchen an ... selbst kurze Sequenzen kommen ja kaum ohne Skripting aus.

Man kann sich also entweder viele Stunden ransetzen, und etwas per Hand hinfummeln, oder man schreibt kurz einen Dreizeiler und lässt ein Skript die Angelegenheit regeln.

Sogar das Modellieren und Riggen eines Characters können dir Skripte abnehmen (siehe Makehuman).

Das Programmieren an sich ist vermutlich das mächtigste Werkzeug, das Blender bietet, aber die wenigsten können damit auch umgehen.

Antwort
von Tschoo, 20

Hallo!

Natürlich ist es möglich.

Gruß

Antwort
von Prisonofmind1, 23

Aber warum? Das kannst du doch blenderintern alles auch machen?! O.o

Und das zu verstehen, was der Text-editor dir da liefert, wird dir nicht viel bringen ^^

Keine passende Antwort gefunden?

Fragen Sie die Community