Hey Rob, Thank you again:)
I had tried the method what you metioned in the beginning of my project. (That is, set ownCanvas as true, and add filter directly on specific object) But I found this way would cause a problem. When the camera rotated, some part of that filtered object would disappear. (Z-sorting issue? I am not sure) Thus I add filters on the whole viewport. Best regards, Andy On May 7, 9:58 pm, Rob Bateman <[email protected]> wrote: > 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-hidequotedtext > > > > - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text - > > -- > Rob Bateman > Flash Development & Consultancy > > [email protected] Hide quoted > text - > > - Show quoted text -
