my/creativity

16 oktober 2012

Een 3D-punt uit Away3D omrekenen naar een 2D-punt in Starling

Drie lagen over elkaar: een Starling-achtergrond, een Away3D-kubus en daarvoor een lijn die aan een hoekpunt vastzit. Elk frame rekent Starling dat 3D-punt om naar een 2D-punt.

Het voorbeeld bestond uit drie lagen: een Starling-achtergrond met een particle-instantie, een Away3D-viewport met een draaiende kubus, en daarvoor weer een Starling-laag met een lijn die ‘vastzit’ aan een hoekpunt van die kubus. Je kon de kubus met je muis ronddraaien.

Starling rekent dat 3D-punt elk frame opnieuw om via een statische functie genaamd GetVerticeWorldPosition. Die geeft de Vector3D terug van het gevraagde segment op de Mesh. De x- en y-eigenschappen daarvan kun je vervolgens als 2D-punt gebruiken.

Het voorbeeld was gebouwd in FlashDevelop en stond hier als download (away3d-point-to-a-starling-2d-point.zip, 132 KB).