Author Archives: lumpengnomInB

Lowkey Backlight – Animation (WiP)

Titel: Lowkey Backlight
Software: Blender, Cycles, Marvelous Designer

Ein paar Stills aus einer Animation, die ich gerade in meiner Freizeit mache. Es ist der Versuch eine kalte, bläuliche lowkey Lichtsituation mit einer dynamischen, sehr komplexen Bewegung und einem warmen Eyecatcher in Kontrast zu setzen.
Weiter unten sind Vorgängertests in welchen ich versucht habe einen Hintergrund zu finden und mit diversen Tiefenunschärfe und Bokeh Effekten, Beleuchtungen und Vordergrundobjekten experimentiert habe. Am Ende schien mir das aber alles zu aufgeregt oder ablenkend, so dass ich mich für die simple “Lowkey Backlight im Tunnel” Variante entschieden habe.

Modell, Materialien, Animation und Rendering wurden in Blender gemacht. Das Kleidungsmodell und die Cloth Simulation entstanden in Marvelous Designer.

 

Complex Physically Based Shading

Titel: PBR Shader – Kupfer
Software: Blender Cycles

Ein Test eines physically based Shaders. Dieser Shader wurde in Blender Cycles erstellt, funktioiniert aber prinzipiell in allen PBR Renderern wie etwa VRay, Mental Ray oder Houdinis Manta.

Er nutzt reale, komplexe Refraktionsindexe, bezieht dabei also auch, was bei Metallen und anderen nicht-dielektrischen Materialien notwendig ist, den Extinktionskoeffizienten mit ein.
Die Refraktionsindexe sind in die Wellenlängen Rot, Grün und Blau aufgesplittet und werden ineinander addiert, um die notwendige rötliche Reflektion zu erhalten.

Das schöne an solchen PBR Shadern ist, dass man nur die Werte des Refraktionsindex anpassen muss (zu entnehmen aus Physik-, und Optikfachbüchern oder Internet Datenbanken wie refractiveindex.info), um aus beispielsweise Kupfer realistisches Gold oder Eisen zu machen.

Die Maserung in den unteren beiden Objekten entstanden durch Prozedurale Maps und diversen prozedurale Dirt- und Pointiness Nodes.

 

Blembic

Die Scriptingseite befindet sich noch im Aufbau. Ich verlinke hier zu diversen Foren in welchen meine Scripte gepostet, erklärt und besprochen werden. In Zukunft werden Skripte hier samt Erklärung zu finden sein:

Link: Blembic



Titel: Blembic
Sprache: Exporter -> Maxscript, Importer -> Python

Blembic ist ein Austauschformat, welches ähnlich wie Alembic Mesh Caches mit variierender Vertexanzahl zulässt.

Im Moment ist Alembic leider noch nicht in Blender integriert. Da mit Blender aber sehr billig (nur minimal teurer als Stromkosten) auf einer selbst gebauten Amazon Renderfarm gerendert werden kann ist es zumindest bei Projekten mit nicht ganz so großem Budget sinnvoll dies zu nutzen.

Um bestimmte Animationselemente (etwa Partikelsysteme oder Fluid Simulationen) nach Blender zu importieren benötigt man eine Mesh Cache Format das variierende Vertexanzahlen zulässt für den Austausch zwischen, z.B. 3ds Max und Blender.

Da ein solcher Mesh Cache nicht existierte habe ich selbst einen geschrieben und stelle ihn zum Download zur Verfügung. Es handelt sich um zwei Skripte. Eines ist für den Export aus 3ds Max (MaxScript) und das andere für den Import nach Blender (Python).

Blembic ist ein binäres Format, was es sehr schnell macht. Es können Objekte mit mehreren Millionen Vertexen gestreamt werden

Im Moment unterstützt Blembic folgendes:

– Geometry mit variierendem Vertex Count
– Split Normals bzw Smoothing Groups
– Material IDs für Multimaterials
– UVW maps (nur 1 channel)

 

Blembic – Documentation for Developers

Link to Thread about Blembic on blenderartists.org:
Link: Blembic

What is it good for?
Blembic is a Mesh Cache system which makes it possible to exchange mesh geometry with varying vertex count from one 3D programm to another one. A Mesh Cache system creates one single mesh per frame, writes this to an individual file in one 3D program and streams these files into another 3D program. So whenever you change a frame the 3D program will load the relevant file and show it in the viewport. When you change the frame again it will remove this file and load the next file, so that you see a consistent stream of meshes.
This is usefull for the exchange of all kinds of animations, especially ones such as fluid or particle simulations where it is the norm that vertex count varies from frame to to frame. There are a lot of other mesh cache formats such as MDD or PC2 but they only work for meshes that have a consistent vertex count and order over the range of the whole animation.

Efficiency through binary files
Simulations such as fluids often involve very large meshes with very many vertices and polygons which means that the import and export has to be very efficient. As far as I can tell it is not possible to efficiently stream mesh caches with regular text based formats such as obj. The import simply takes too long. Therefore it is a lot better to use binary files.
Binary files might sound a bit daunting at first but actually they are very simple to understand. Creating a binary files actually only means that a script (in this case our exporter) translate numbers and letters which can be easily read by humans into letters and numbers which can be easily read by computers. Since the exporter does this translation for us the importer is able to read the incomming files a lot faster.

How it works
– The Blembic exporter moves to the first frame the user wants to export.
– It creates a file in a folder the user has declared.
– Blembic analyses the Mesh
– It reads parameters such as vertex count and material IDs and writes it in to the file
– Blembic closes the file and saves it.
– Blembic moves to the next frame and does the same until all frames are exported.

Blembic Structure
Since this whole format is still in development the structure might change in future releases breaking support for older exporters.

The structure is relatively simple. The exporter reads and writes in the following order:

1. Number of vertices (1 integer)
2. Vertex position (3 floats per vertex)
3. Number of vertices (1 integer)
4. Number of faces (1 integer)
5. Vertex index number of which each face is made up of (3 integers per face)
6. Number of (Split) Normals (1 integer)
7. Vector of each normal (3 floats per normal)
8. MatID per face (1 integer per face)
9. Number of MatIDs (1 integer)
10. Number of UV Maps (1 integer)
11. Number of Vertices in UV Map (1 integer)
12. UV vertex position (2 floats per vertex in UV Map)
13. Number of Faces in UV Map (1 integer)
14. UV vertex index number of which each UV face is made up of (3 integers per UV face)

Creating binary files with Python
Creating a binary file with Python is simple. You open a file (if it doesn´t exist Python will create it automatically)
If you want to be able to write in binary you have to add “wb”.

myFilePath = "C:\\myTestFolder\\myfile.BBCTEST"
myTestFile = open(myFilePath, "wb")

In order to write a number in binary you first have to pack it. This is done with the struct.pack function.
Inside the brackets you have to declare what kind of number you want to pack. In our case we will be packing an Integer so the first thing in the bracket is “i”.
The second thing in the brackets is “9” which is the number that will be translated into binary:

myTestStruct = struct.pack("i",9)

myTestStruct = struct.pack("i",9)

And finally we close the file

myTestFile.close

For a more in depth explanation refer to struct page of the Python manual. It also explains how to open and unpack a binary file. Python Struct Reference

Writig an exporter in Python
So all we have to do now is collect the relevant data mentioned under Belmbic Structure and pack it into our binary file. How collecting this data works depends on the 3D program you are using and you have to look that up in the 3D programms reference manual. It is possible that the 3D program you want to write an exporter for doesn not support Python or has better access to other script languages. The exporter I wrote for 3ds Max for example uses MaxScript. The syntax is obviously different but the principle should be the same.
open file -> get data -> pack to binary -> write to file

If you have any questions feel free to contact me via email, the Blembic thread on blenderartists.org.

Titel: Blembic Documentation
Language: Exporter 3ds Max -> Maxscript, Exporter Houdini (in development) -> Python, Importer -> Python

 

Aquarellfarbenshader

Titel: Aquarell
Software: Blender, Cycles

Test, um einen Shader zu produzieren, der Bilder ausgibt, die wie Auqarellfarben aussehen.

 

Evolution: Indian Hunter – iPad Game

Titel: Indian Hunter
Endkunde: Scorpius Forge
Auftraggeber: Scorpius Forge
Leistung: 3D Modelle, Texturen, Animationen
Software: 3ds Max, Photoshop

Evolution: Indian Hunter ist ein Spiel für iPhone, iPad und Android Geräte. Meine Aufgabe bestand darin 3D Modelle zu bauen, diese mit Diffuse-, Normal- und Opacitymaps auszustatten und sie anschließend zu animieren. Hauptaugenmerk war es mit den begrenzten Resourcen, welche Telefone und Tablets damals boten schöne Grafiken zu entwickeln und umzusetzen. Der Clip zeigt mehrere Animationen und in der Gallerie darunter sind diverse Charaktermodelle und Props für das Spiel zu sehen. Darunter gibt es noch ein paar ingame Screenshots.
Mehr zu dem Spiel, sowie Trailer und Links zu den jeweiligen App und Play Stores gibt es auf der Webseite von Scorpius Forge.

 

Object Sequence to Fluid Sim Cache

Titel: Object Sequence to Fluid Sim
Sprache: Python

Dieses Script ermöglicht es Objekte aus Blender in einen FluidSim Cache umzuwandeln und so sehr komplexe Objekte sehr effizient zu streamen.

 

Partikel mit Volume Light

Titel: Partikel und Volumenlicht
Software: Blender, Cycles, Smoke Sim

Mit diesem Test wollte ich die Fähigkeit der Blender SmokeSim in Kombination mit Partikeln und Volumenlicht testen. Der Film funktioniert am besten bei höheren Auflösungen, da die Kompression, welche beim hochladen von Youtube erzeugt wird bei niedrigeren Auflösungen Artefakte erzeugt.

 

Trikot – Cloth Tests

Titel: Trikots
Software: Marvelous Designer, Blender, Cycles

Eine Testreihe, um Kleidungsartikel für einen Online Konfigurator mit austauschbaren Materialien und unterschiedlichen Faltenwürfen zu produzieren.

 

FluidSim – Schokolade, Milch, Honig, Saft

Titel: FluidSim Tests
Software: Blender, Cycles

Diverse Tests mit der Blender FluidSim. Unterschiedliche Viskositäten, Materialien und Beleuchtungen.