15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit drei Dimensionen (3D)<br />

Die UV-Koordinaten eines Dreieckbereichs aus einem Bitmapbild<br />

Die UV-Werte bleiben mit den Punkten des Dreiecks konsistent:<br />

Die Vertizes des Dreiecks werden verschoben und die Bitmap wird verzerrt, um den UV-Wert für einen einzelnen Punkt unverändert zu lassen:<br />

Während auf das mit der Bitmap verbundene Dreieck ActionScript-3D-Transformationen angewendet werden, wird<br />

das Bitmapbild aufgrund der UV-Werte auf das Dreieck angewendet. Anstatt also Matrixberechnungen zu<br />

verwenden, werden einfach die UV-Werte gesetzt oder angepasst, um einen dreidimensionalen Effekt zu erschaffen.<br />

Die Graphics.drawTriangles()-Methode akzeptiert auch eine optionale Information für dreidimensionale<br />

Transformationen: den T-Wert. Der T-Wert in „uvtData“ repräsentiert die 3D-Perspektive, oder genauer: den<br />

Skalierungsfaktor des verbundenen Vertex. Die UVT-Zuordnung ergänzt die UV-Zuordnung um perspektivische<br />

Korrekturen. Wenn ein Objekt beispielsweise in einem 3D-Raum vom Betrachterstandpunkt entfernt positioniert<br />

wird, sodass es nur 50 % der „Originalgröße“ zu haben scheint, würde der T-Wert dieses Objekts 0,5 betragen. Da<br />

Dreiecke gezeichnet werden, um die Objekte im 3D-Raum zu repräsentieren, bestimmen deren Positionen auf der z-<br />

Achse deren T-Werte. Die Gleichung, die den T-Wert bestimmt, lautet wie folgt:<br />

T = focalLength/(focalLength + z);<br />

In dieser Gleichung steht „focalLength“ für die Brennweite oder eine berechnete Bildschirmposition, die bestimmt,<br />

wie stark die Perspektive in dieser Sicht ist.<br />

Letzte Aktualisierung 27.6.2012<br />

389

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!