Flash: ColorTransform of Pictures
/ Autor: Alexander, 01 Aug 2008Bilder in Flash nachzubearbeiten ist in gewissen Grenzen möglich. Eine Anwendung dessen wird zum Beispiel bei Konfiguratoren verwendet. Will man etwa einem 3D-Modell eines Autos eine andere Farbe geben, ist es nicht nötig das Bild mit anderer Farbe neu zu laden, sondern man kommt mit den Flash-Internen Funktionen aus.
Das Färben von Flächen ist mittels 3D-Bildern relativ einfach. Dazu werden die 3D-Bilder als MultiPass herausgerendert und in Photoshop für Flash aufbereitet. In Flash CS3 können diese Bilder dann importiert werden und behalten dabei ihre Ebenensets und Mischmodi. Eine Ebene dieses Bildes ist dann die Farbebene des 3D-Objektes. Diese wird in Flash dann als Bitmap umgerechnet, da der hier verwendete ColorTransform nur für Bitmaps verwendbar ist. Das Bitmap wird dann im einem Movieclip gekapselt, um es per Script ansprechen zu können.
Für die eigentliche Farbgebung sind die beiden Klassen ColorTransform und Transform in Flash zu importieren. Zunächst wird dann ein neues Objekt von Typ ColorTransform erzeugt und mit der rgb-Zielfarbe gefüllt. Ein weiteres Objekt ist das Transform Objekt. Diesem wird der Ziel-MovieClip mitgegeben, welcher das Bitmap zum Färben enthält. Durch die schlichte Zeile "transformObject.colorTransform = colorTransformObject;” wird dann das eigentliche Färben ausgelöst. Damit bekommt das 3D-Objekt eine neue Füllfarbe, behält aber durch das Beibehalten der entsprechenden Ebenen aus dem MultiPass-Rendering seine Form und sein ursprüngliches Aussehen. Vorteile dieses Verfahren liegen vor allem bei der geringeren Dateimenge, bzw dem geringerem Traffic, so wie der Möglichkeit für den User seine Änderungen in Echtzeit zu sehen.


Leave a Reply