reated March 12, 2007

<== Alle Maya-Befehle in diesem Buch - Alle! In Deutsch!

Basic things you should know (and maybe never dared asking).

Grundsätzliches, was Sie wissen sollten (aber vielleicht nie zu fragen wagten)

Why do some Textures Float?

Warum schwimmen manche Texturen?

... because you projected them onto your scene! Not into your scene, but onto your scene. Like in a cinema you throw light beams onto the canvas. When someone walks in front of the canvas you see the movie float across the person's body.

In 3D animation projection is a powerful feature which lets you texture objects from one direction - as opposed to rapping the image around each single object.

After having done this, however, you will encounter the problem of "floating textures". Let's put this into practice.

... Weil Sie die Texturen in die Szene hineinscheinen lassen, wie die Strahlen des Filmprojektors in den Kinosaal hineinscheinen. Auf die 3D-Welt von Maya übertrage heißt das: Das Bild gelangt von einer Richtung aus auf die Objekte, statt, wie das ohne Projektion der Fall ist, sich um die Objekte individuell herumzuwickeln.

Wenn Sie mit der Projektion fertig sind, werden Sie einen merkwürdigen Effekt bemerken: Das projizierte Bild wandert auf den Oberflächen der Objekte entlang, wenn sie die Objekte bewegen. Das gehört zum Prinzip. Sehen wir uns die Sache näher an.

Create a new scene and throw a couple of objects into it. Next, select them all, press the right mouse button and select Assign New Material --> Blinn:

Werfen Sie ein paar Objekte in eine neue Szene. Wählen Sie sie alle aus, und wenden Sie über die rechte Maustaste den Befehl Assign New Material --> Blinn aus:

The new material's attribute editor opens. Click on the checker icon next to "Color":

Der Attribut-Editor des neuen Materials springt auf. Klicken Sie neben der Farbe (Color) auf das kleine Schachbrett-Icon:

Clicking on the checker icon is Maya's way to apply a speciality to the color. In our case: the projection of an image. See the illustration below: Check "As projection" and then choose "File". File in this case means image or a sequence of images:

Dieser Klick sagt Maya, dass Sie nicht einfach eine Farbe auf die Objekte gießen wollen, sondern etwas Spezielles vorhaben. Wählen Sie in dem Fenster, was jetzt aufspringt, "As projection" (Materiial als Projektion aufbringen). Weil wir ein Bild projizieren wollen, wählen Sie weiter unten "File" aus - File bedetuet Datei, in diesem Fall Bild-Datei. Sie könnten auch eine Bildfolge oder einen Film auf die Objekted werfen:

Maya now wants to know which file you want to project. Click on the folder icon next to "Image Name" and choose one of your favourite photos. I'll choose a painting of Africa.

Jetzt möchte Maya wissen, welches Bild Ihnen vorschwebt. Klicken Sie auf den Ordner neben Bildname ("Image Name"), und wählen Sie eins Ihrer Lieblingsfotos auf der Festplatte aus. Ich wähle ein stilisiertes Gemälde von Afrika [aus einer Animation für die Sendung mit dem Elefanten im WDR]:

If you graphics card allows for this, chose High Quality Rendering now. It will make the scene a bit slow to navigate but you see things better, almost as good as if you rendered the scene. You'll notice a new object in your viewport. This little square shows you the size of the projector:

Sie sehen in Ihrer Szene ein neues grünes Objekt. Das ist Ihr Projektor. Ich empfehle Ihnen jetzt, mal im Renderer-Menü "High Quality Rendering" einzuschalten, falls Ihre Grafikkarte das unterstützt. Das macht die Szene zwar etwas träger navigierbar, aber Sie sehen die Texturen dann fast so gut, als würden Sie sie rendern:

Move the green projection icon around, rotate and scale it bigger. You'll see the textures on the objects update accordingly.

In the next illustration the projection icon has been rotated by ca. 90 degrees and scaled up a bit. It throws the image onto all objects in the scene from it's position and direction above the scene. The thin vertical line is the indicator for the direction of the projection:

Bewegen Sie das Projektions-Icon in der Szene herum, drehen Sie es, und machen Sie's größer und kleiner. Beachten Sie, wie sich die Texturen auf den Objekten entsprechend ändern.

In der nachstehenden Abbildung habe ich die Projektion so gestellt, dass sie die Objekte von oben bestreicht und sie alle ziemlich gut abdeckt. Der dünne senkrechte Strich zeigt die Projektionsrichtung an:


Since the projection comes from above, the thin cone receives very distorted, stretched parts of the image, whereas the palm trees are nicley layed out on the other objects.

When you move the objects around now like i did in the next image (move the mouse over the image to see the effect) you see the texture float. The palm tree for example moves on the surface of the torus. This is no error but a genuine projection effect.

Weil die Projektion von oben kommt, wirkt die Textur auf der spitzen, hohen Pyramide stark verzerrt, während die Palmen auf der Oberseite des Torus schön unverzerrt aussehen.

Wenn Sie die Objekte in der Szene herumwegen, stellen Sie fest, dass es so ist, als würden Sie im Kino vor einer Leinwand hin und her gehen - die Texturen schwimmen über die Objekte. Die Palme etwa schwimmt über den Torus. Sie sehen das in der Abbildung unten, indem Sie den Mauszeiger über das Bild fahren.


The same "floating" effect appears when you move or scale the projection icon itself. It's like moving the projector in a cinema.

Der Schwimmeffekt ist kein Fehler, sondern gehört zum Prinzip der Projektion. In der nächsten Abbildung habe die die Projektionsfläche kleiner skaliert:

I scaled the projection down to a rather small size. The texture is being repeated seamlessly and you see much more of the original image on each single object:

Jetzt wird das projizierte Bild kleiner. Also passt viel mehr von dem Originalbild auf die einzelnen Objekte. Maya wiederholt die Textur, sodass trotz kleinen Projektions-Icons die ganze Szene texturiert wird:


In many cases projecting images onto objects is just sweet little an in-between step. After having applied the projection you might want to get rid of the floating effects. Since this is a texturing topic, let's open the Hypershade window:

In vielen Fällen ist die Projektion nur ein Zwischenschritt, und man möchte eigentlich alles so lassen, wie man es mit der Projektion eingerichtet hat. Man möchte, dass die Materialien da bleiben, wo sie sind und muss dazu die Texturen auf die Objekte "aufbacken". Weil das ein reines Textur-Thema ist, öffnen wir das Fenster, was sich genau damit beschäftigt, den Hypershader::

All major windows in Maya have their own sets of pull down menus. The one we need here is Edit --> Convert to File Texture. The command bakes the image onto the objects and for this purpose creates several individual texture files.

Before applying the effect, take a not of the hint on the very buttom of your Maya window. The status lines tells you exactly what to do: "select texture and surface(s):

Wie alle großen Maya-Fenster hat der Hypershader sein eigenes Menüset, und Sie finden es komplett in meinem Buch erklärt. Sie benötigen jetzt den Befehl Edit --> Convert to File Texture - zu deutsch: Bearbeiten --> In Datei-Textur umwandeln. Das bedeutet: Maya sieht sich die Szene an und erzeugt mehrere Einzelbilder, die es dann direkt auf die Objekte der Szene wickelt.

Lösen Sie den Befehl noch nicht aus, sondern beachten Sie zunächst ganz unten im Maya-Fenster die Status-Zeile. Sie sagt Ihnen genau, wie Sie den Befehl anwenden müssen, nämlich die Textur ("texture"), die Sie aufbacken wollen, auswählen ("select"), und zusätzlich die Objekte (Flächen = "Surfaces"), auf die die Textur aufgebacken werden soll:


So, in the Hypershade window select the texture - in our case it's a Blinn material with the image we choose:

Treffen Sie jetzt also die Vorbereitungen, um den Befehl anzuwenden: Wählen Sie im Hypershade-Fenster die Textur aus - es handelt sich in unserem Beispiel um ein Blinn-Material:

 

Since selecting the Blinn is only the beginning of our selection process you'll need to press the Shift key now to select the objects in your 3D scene. If you forget pressing Shift you'll lose the selection of the texture and the command will produce an error.

With the Blinn and the objects in the scene selected, go back to the Hypershade window and chose Edit --> Convert to File. Depending on the complexity of the scene this might take a couple of seconds or even longer. Be patient. Maya writes out file textures to your hard drive (into the folder of your current project) and the Hypershade window fills up accordingly:

Verlieren Sie die Auswahl nicht! Wechseln Sie ins normale 3D-Fenster, drücken Sie die Shift-Taste, und wählen Sie nun ein Objekt nach dem anderen aus. Wenn Sie Shift vergessen, verlieren Sie die Auswahl der Textur, und der Befehl wird zu einer - auch nicht dramatischen - Fehlermeldung führen.

Gehen Sie nun ins Hypershade-Fenster zurück, und wenden Sie den Befehl Edit --> Convert to File an. Je nach der Komplexität der Szene und der Projektion dauert das ein paar Sekunden oder Minuten. Maya erzeugt dabei Bilddateien und speichert sie auf´Ihrer Festplatte ins aktuelle Projektverzeichnis. Die neuen Texturen erscheinen dann im Hypershader:


"blinn1" is the original texture which is no longer needed. With all textures "baked" onto the geometry you can move the objects around in the scene and the image will no longer float across them but appear fixed:

Die "blinn1"-Textur vom Anfang brauchen wir nun nicht mehr. Nachdem jetzt alle Texturen fest auf die Objekte der Szene aufgeklebt sind, können Sie sie in 3D herumbewegen, ohne dass noch etwas schwimmt:

The scene feels light and easy now. But it contains traces of its projection history. Not only the first material (blinn1) but also the projection icon. Instead of deleting them by hand, choose a powerful command which cleans up your scene by one click: Edit --> Optimize Scene Size.

Die Szene fühlt sich jetzt viel leichter an als vorher, weil Maya keine Projektionen mehr berechnen und laufend updaten muss. Sie können die Szene dennoch etwas entschlacken, indem Sie die überflüssige Textur (blinn1) und das Icon für die Projektion löschen. Einfacher geht das über einen mächtigen kleinen Befehl, der einfach alles wegwirft, was im aktuellen Zustand der Szene nicht mehr gebraucht wird: Edit --> Optimize Scene Size (Bearbeiten --> Szenendateigröße optimieren)


Final Note.

Projection is a powerful tool to apply an image onto one or more objects in a scene. Imagine a river with the photo of a cloudy sky projected onto. Even with ripples it will look real.

In many cases baking the projected image is a natural process. It prevents textures from floating.

Abschlussbemerkung.

Die Projektion ist ein mächtiges Werkzeugt, um ein Bild auf ein oder mehrere Objekte der Szene zu werfen. Man kann ein Foto des bewölkten Himmels auf einen 3D-Fluss werfen, und, egal, wie die Wellen sich kräuseln, wird die Spiegelung echt aussehen.

Häufig ist die Projektion aber nur ein Mittel zum Zweck, rasch bestimmte Bilder auf bestimmte Objekte zu werfen. Damit diese dann nicht auf diesen herumschwimmen, "bäckt" man sie.