K thanks, will look it over soon!
On Apr 11, 3:24 pm, Darcey Lloyd <[email protected]> wrote: > Placed an example and full source with 3D assets of the ferrari example that > is included in the Away3D examples on my site, feature include: > > 1. Another heavy model if you wish to test loading another model included > 2. Another decimated blender version of the high poly model if your > machine cant handle the heavy model (mine runs at 2fps using the heavy > model) > 3. Scene is prevented from rendering till boolean flag (loaded) is set to > true > 4. Text field is altered depending on place in script (loading, error, > complete = author text) > 5. Event listeners and function handlers for success and fail > > http://www.allforthecode.co.uk/aftc/forum/user/modules/forum/article.... > > GL > > D > > On 11 April 2011 19:03, Morantis <[email protected]> wrote: > > > > > Ok, still having issues here and getting more confused by the minute. > > > On Apr 11, 4:02 am, Fabrice3D <[email protected]> wrote: > > > add a onLoadedComplete event to the parser > > > then when its loaded, addChild the handle, the object3d. > > > > function onLoadedComplete(e:Event) > > > var myObject3DS:Object3D = e.loader.handle > > > view.scene.addChild(myObject3DS); > > > > Its also a good idea to listen to errors > > > loader.addOnError(onLoadedError); > > > > as the size/scale of the display, all depends on camera > > distance/settings/lens from either your exporter or away. > > > > Fabrice > > > > On Apr 11, 2011, at 5:02 AM, Morantis wrote: > > > > > I need to know what the exact format and syntax for importing a basic > > > > 3d model into Flash through Away3D is. I have done a lot of searching > > > > and seen various methods that for me seem to produce varying errors or > > > > no visible object. This is just a test to make sure I understand the > > > > concept before actually getting deeply into the programming, so for > > > > that reason I have not used a material for the model. I assume that > > > > Away3D will still produce a visible result, just as a cube or sphere > > > > can be seen without assigning a specific material. Let me say first > > > > that i fully understand the class imports and that is not an issue. I > > > > have used AS on and off, so I understand that for the most part, plus > > > > have other programming experience, so that is not the major issue. I > > > > am using Flash CS5 I believe and AS3 and Flash 10 formats. I have an > > > > intial stage and use an external class for all the Away3D AS > > > > scripting. I am playing with it and basically putting together a > > > > template to build furture Away3D/Flash from. I am going to post the > > > > entire external package here, and I know it has some issues, it copied > > > > and pasted some portions from the Earth/Stars tutorial to save time > > > > and I have used 2 movie clips for zooming in and out on a basic cube. > > > > I used 3DMax to make a very basic torus and exported it to the root > > > > folder for the app and named it tube.3ds, I also produced a smaller > > > > version of the same called tube2.3ds. You will see a lot of commented > > > > out lines as I have tried many methods to import the model. I even > > > > tried as a Wavefront OBJ. I really find this as the last stumbling > > > > block to going somewhere with this software so please help. Here's my > > > > current AS... > > > > > package > > > > { > > > > > import flash.display.Sprite; > > > > import away3d.containers.*; > > > > import away3d.core.base.*; > > > > import away3d.primitives.*; > > > > import away3d.materials.*; > > > > import away3d.core.utils.Cast; > > > > import away3d.cameras.*; > > > > import flash.filters.BitmapFilter; > > > > import flash.filters.BitmapFilterQuality; > > > > import flash.filters.BitmapFilterType; > > > > import flash.filters.GlowFilter; > > > > import flash.events.MouseEvent; > > > > import flash.events.Event; > > > > import away3d.core.render.Renderer; > > > > import flash.events.KeyboardEvent; > > > > import flash.events.*; > > > > import away3d.loaders.Max3DS; > > > > import away3d.loaders.Obj; > > > > > //import fl.motion.MotionEvent; > > > > > public class hhh extends Sprite > > > > { > > > > > public function hhh() > > > > { > > > > > var move:Boolean = false; > > > > var lastPanAngle:Number; > > > > var lastTiltAngle:Number; > > > > var lastMouseX:Number; > > > > var lastMouseY:Number; > > > > var skies:Sphere; > > > > var scene:Scene3D = new Scene3D(); > > > > // Create and set up the camera > > > > var camera:HoverCamera3D = new > > HoverCamera3D({zoom:2,focus: > > > > 200,distance:400}); > > > > camera.panAngle = -180; > > > > camera.tiltAngle = 15; > > > > camera.hover(true); > > > > camera.yfactor = 1; > > > > var view:View3D = new > > View3D({scene:scene,camera:camera}); > > > > addChild(view); > > > > view.x = 250; > > > > view.y = 200; > > > > var desk:Cube = new Cube({material:"blue#white"}); > > > > desk.height = 15; > > > > desk.width = 150; > > > > desk.depth = 25; > > > > desk.x = 100; > > > > view.scene.addChild(desk); > > > > > //var tube=new Max3DS(); > > > > var tube:Max3DS=new Max3DS.load("tube.3ds"); > > > > //var tube2:Obj=new Obj("tube2.obj"); > > > > //view.scene.addChild(tube); > > > > tube.scale(100); > > > > view.render(); > > > > > function MouseDown(event:MouseEvent):void > > > > { > > > > lastPanAngle = camera.panAngle; > > > > lastTiltAngle = camera.tiltAngle; > > > > lastMouseX = stage.mouseX; > > > > lastMouseY = stage.mouseY; > > > > move = true; > > > > } > > > > function MouseUp(event:MouseEvent):void > > > > { > > > > move = false; > > > > } > > > > function MouseOverHandlerplus(event:MouseEvent):void > > > > { > > > > // Start your custom code > > > > // This example code displays the words > > "Moused over" in the > > > > Output panel. > > > > camera.zoom = camera.zoom + 1; > > > > > // End your custom code > > > > } > > > > function > > MouseOverHandlerminus(event:MouseEvent):void > > > > { > > > > // Start your custom code > > > > // This example code displays the words > > "Moused over" in the > > > > Output panel. > > > > camera.zoom = camera.zoom - 1; > > > > > // End your custom code > > > > } > > > > > function zoomreset(event:KeyboardEvent):void > > > > { > > > > camera.zoom = 1; > > > > > } > > > > > function onEnterFrame(e:Event):void > > > > {// rerender viewport > > > > var cameraSpeed:Number = 0.3;// > > Approximately same speed as mouse > > > > movement. > > > > if (move) > > > > { > > > > camera.panAngle = > > cameraSpeed*(stage.mouseX - lastMouseX) + > > > > lastPanAngle; > > > > camera.tiltAngle = > > cameraSpeed*(stage.mouseY - lastMouseY) + > > > > lastTiltAngle; > > > > } > > > > camera.hover(); > > > > view.render(); > > > > } > > > > addEventListener(Event.ENTER_FRAME, onEnterFrame); > > > > stage.addEventListener(MouseEvent.MOUSE_DOWN, > > MouseDown); > > > > stage.addEventListener(MouseEvent.MOUSE_UP, > > MouseUp); > > > > plus.addEventListener(MouseEvent.CLICK, > > MouseOverHandlerplus); > > > > zoomout2.addEventListener(MouseEvent.CLICK, > > MouseOverHandlerminus); > > > > stage.addEventListener(MouseEvent.DOUBLE_CLICK, > > zoomreset); > > > > stage.addEventListener(KeyboardEvent.KEY_UP, > > zoomreset); > > > > > } > > > > } > > > > > } > > > > > I can't seem to add a second agument to the new MAX3D without getting > > > > an error, so I stopped even trying that. If I just go with blah:new > > > > Max3D(); then I can't find a way to attach this to a model file. > > > > var tube:Max3DS=new Max3DS.load("tube.3ds"); > > > > gives me a method cannot be used as a constructor error. At this > > > > point I cannot remember all the ways I have tried to do this.- Hide > > quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text -
