Alright I have gotten so deeply into this that I forgot where I
started, what is the syntax of the very first line that begins the
load....is it
var tube:Max3DS=new Max3DS.load("tube.3ds");
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 -