package geometry.basics { import away3d.entities.Mesh; import away3d.events.LoaderEvent; import away3d.loaders.Loader3D; import away3d.loaders.misc.AssetLoaderContext; import away3d.loaders.parsers.OBJParser; import away3d.materials.BitmapMaterial; import flash.display.BitmapData; import triga.render.ViewHelper; /** * @author Nicolas Barradeau * http://en.nicoptere.net */ public class F_LoadMesh extends BaseScene { [Embed(source="../../../lib/res/models/windmill/windmill.obj", mimeType="application/octet-stream")] private var OBJ:Class; [Embed(source="../../../lib/res/models/windmill/windmill.jpg")] private var source:Class; private var texture:BitmapData = new source().bitmapData; private var _loader:Loader3D; private var mesh:Mesh; public function F_LoadMesh():void { addChild( GlobalTextField.instance ); GlobalTextField.instance.htmlText = '

the windmill model & texture is a courtesy of Raphaƫl Kuntz\na talented 3D artist, his website is here: http://visu.kuntz.tv/

' ; var size:uint = 256, color:uint = 0xFF000000, backgroundColor:uint = 0xFFFFFFFF; setup(); ViewHelper.grainyBackground( view, 1024, false, 0, 16 ); ViewHelper.vignette( view, 1024, false, 0, 1, 216 ); loadObj(); } private function loadObj():void { Loader3D.enableParser(OBJParser); _loader = new Loader3D(); _loader.addEventListener(LoaderEvent.RESOURCE_COMPLETE, onResourceComplete); _loader.loadData( OBJ, new AssetLoaderContext(false), null ); addChild( GlobalTextField.instance ); } private function onResourceComplete(e:LoaderEvent):void { var model:Mesh = Mesh(_loader.getChildAt(0)); model.material = new BitmapMaterial( texture ); model.material.lights = lights; addMesh( model ); model.scale( .85 ); } } }