if you want to limit the size,

use the scrollRect property of MovieClip. only the area in the scrollRect
will render and then you can use filters again.

2009/5/7 Andy Fang 方永安 <[email protected]>

>
> 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 -
>

Reply via email to