Hey Andy if you want to apply a filter to a 3d object, the best way to do it is to use the filters property directly on the object
for this to work, you need to first set ownCanvas of the object to true: myPlane.ownCanvas = true; and you can then set filters like you would normally on any native displayobject: myPlane.filters = [new BlurFilter()]; cheers Rob 2009/5/7 Andy Fang 方永安 <[email protected]> > > Hey Rob, > > After looking more deeply what the MovieMaterial class is, > I realize that the size of interactive layer is not the problem, the > position of it is (the problem). > > I think the better way to solve this problem I mentioned (filter can't > be working), > it's to find a another way to present the visual effect I wanted ("out > of focus"). > > How about your recommendation of this issue? > > Anyway, I have to thank you again and agian:) > > Andy > > > On May 7, 9:21 am, Andy Fang 方永安 <[email protected]> wrote: > > Hey Rob, > > > > Thank you so much!!! > > Your explanation makes me understand clearly why it produced a huge > > viewport. > > > > In this project, I add a BlurFilter on View3D sprite. > > Because I want to present some kinds of visual effect, such as "out of > > focus". > > If View3D sprite is too huge, filter can not be working. > > > > Is there any possibility let me shrink the size of interactive layer? > > > > Best regards, > > Andy > > > > On May 7, 7:01 am, Rob Bateman <[email protected]> wrote: > > > > > > > > > Hey Andy > > > > > the excessive width will be caused by the moviematerial and it's > interactive > > > layer. when the mose is not over a moviematerial, it stores an instance > of > > > the interactive content at -10000, -10000 to ensure it is offstage but > still > > > receiving events (such as tab events, important with forms). i don't > know > > > why this isn't being picked up with your width proprties for the > children of > > > view, but it may be because the interactive layer has an alpha > blendmode > > > applied to make it hidden but still interactive. > > > > > can i ask why you need to use the width property of the view? if you > need to > > > grab the viewport size, you are better off using the screenClipping > property > > > of the view object > > > > > cheers > > > > > Rob > > > > > 2009/5/6 Andy Fang 方永安 <[email protected]> > > > > > > Hey Rob, > > > > > > I use Flash authoring tool CS4 to create 3D Flash. > > > > > > There is a file Main.fla in my project. > > > > Its document class is Main.as (extends Sprite). > > > > > > In the beginning, there was three objects in the stage. > > > > Which is (and I take their width for example): > > > > ---------------------------- > > > > Object Main width=1368 > > > > Object OnScreenBtn1 width=50 > > > > Object OnScreenBtn2 width=50 > > > > ---------------------------- > > > > > > Furthor analyse object Main: > > > > ---------------------------- > > > > Object View3D width=1368 > > > > Object DebugPanel width=137 > > > > ---------------------------- > > > > > > And components of View3D(I use view.getChildAt(i) to get them): > > > > ---------------------------- > > > > Object Sprite width=0 > > > > Object Sprite width=1368 > > > > Object Sprite width=0 > > > > Object Sprite width=0 > > > > ---------------------------- > > > > > > After I add a 640 x 480 plane into a ObjectContainer3D which is child > > > > of view.scene. > > > > ---------------------------- > > > > Object Main width=10684 > > > > Object OnScreenBtn1 width=50 > > > > Object OnScreenBtn2 width=50 > > > > ---------------------------- > > > > > > Furthor analyse object Main: > > > > ---------------------------- > > > > Object View3D width=10684 > > > > Object DebugPanel width=137 > > > > ---------------------------- > > > > > > And components of View3D(I use view.getChildAt(i) to get them): > > > > ---------------------------- > > > > Object Sprite width=0 > > > > Object Sprite width=1368 > > > > Object Sprite width=640 > > > > Object Sprite width=0 > > > > ---------------------------- > > > > > > According to foregoing width changes, > > > > I think the huge View3D produces a huge stage. > > > > > > But analyse the components of View3D, > > > > I still don't know which part make View3D become so huge. > > > > > > Andy > > > > > > On May 6, 7:46 am, Rob Bateman <[email protected]> wrote: > > > > > Hey Andy > > > > > > > not sure i understand what you mean by 'the dimensions of the stage > are > > > > > huge'. do you mean the viewport? the clipping object? or the > relative > > > > scale > > > > > of 3d objects in the scene? > > > > > > > Rob > > > > > > > On Tue, May 5, 2009 at 10:17 AM, Andy Fang 方永安 <[email protected] > > > > > > wrote: > > > > > > > > Hi Fabrice, > > > > > > > > Thx for your help. > > > > > > But the dimensions of the stage are still huge after setting > lockH, > > > > > > lockW and clipRect. > > > > > > > > Let me brief my 3D environment > > > > > > > > There is a big cube (1366 x 768 x 1366) surround camera in my > scene. > > > > > > The camera can only rotate 360 degree, can't move its position. > > > > > > > > There are three ObjectContainer3D objects inside the cube. > > > > > > Each ObjectContainer3D object has a single cube at first. > > > > > > When you click this cube, a Plane will reveal and load swf as its > > > > > > material. > > > > > > > > Andy > > > > > > > > On May 5, 4:47 pm, Fabrice3D <[email protected]> wrote: > > > > > > > Hi Andy, > > > > > > > You can set MovieMaterial size by using lockH and lockW > properties. > > > > > > > see this as a sort of embed. > > > > > > > > > more than 10000... > > > > > > > In this case, I presume your plane displayed normally shows a > very > > > > > > > small texture, and you probably compensate by making the plane > > > > bigger... > > > > > > > To avoid this just set the clipRect of the MovieMaterial as > well... > > > > > > > you avoid then to compensate the size of your sprite/mc. > > > > > > > > > Fabrice > > > > > > > > > On May 5, 2009, at 10:28 AM, Andy Fang 方永安 wrote: > > > > > > > > > > I load a .swf file into a loader. > > > > > > > > And then set content of loader as a Sprite. > > > > > > > > Assing this sprite as a MovieMaterial. > > > > > > > > > > Finally, attach this MovieMaterial in a Plane. > > > > > > > > > > But I find the dimensions of stage become very big (more than > 10000 > > > > x > > > > > > > > 10000). > > > > > > > > > > Here is my source code. > > > > > > > > > > swfLoader=new Loader(); > > > > > > > > swfRequest=new URLRequest("sample.swf"); > > > > > > > > swfLoader.load(swfRequest); > > > > > > > > > > swfLoader.contentLoaderInfo.addEventListneer(Event.COMPLETE, > > > > > > > > swfLoadedHandler); > > > > > > > > > > function swfLoadedHandler():void{ > > > > > > > > swfInstance=swfLoader.content as Sprite > > > > > > > > swfMaterial=new MovieMaterial(swfInstance, > {interactive:true, > > > > > > > > smooth:true}); > > > > > > > > > > swfPlane=new Plane({material:swfMaterial}); > > > > > > > > }- Hide quoted text - > > > > > > > > > - Show quoted text - > > > > > > > -- > > > > > Rob Bateman > > > > > Flash Development & Consultancy > > > > > > > rob.bate...@gmail.comwww.infiniteturtles.co.ukwww.away3d.com-hide > > > > quoted text - > > > > > > > - Show quoted text - > > > > > -- > > > Rob Bateman > > > Flash Development & Consultancy > > > > > rob.bate...@gmail.comwww.infiniteturtles.co.ukwww.away3d.com-hidequoted > > > text - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text - -- Rob Bateman Flash Development & Consultancy [email protected] www.infiniteturtles.co.uk www.away3d.com
