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.