Effects on PV3D



参考一些外国的demo,做了3个effect,分享之。

随机坐标创建50个3D矩形

for(var i:int = 0; i < 50; i ++)
            
{
                var p:Plane 
= new Plane(new ColorMaterial(Math.random()*0xFFFFFF), Math.random()*180+10, Math.random()*180+10);
                p.x 
= Math.random() * 1000 - 500;
                p.y 
= Math.random() * 1000 - 500;
                p.z 
= Math.random() * 700 - 400;
                p.material.doubleSided 
= true;
                scene.addChild(p);
                p.useOwnContainer 
= true;
                planes.push(p);
                
                
                depthDemo 
= true;
                p.filters 
= [new BlurFilter()];
                
                p.alpha 
= Math.random() + 0.1;
            }

为每个矩形创建Blur效果

if(depthDemo)
            
{
                
for each(var do3d:DisplayObject3D in planes)
                
{
                    
if(do3d.container)
                        var deph:
int = int(do3d.container.screenDepth);
                        do3d.filters[
0].blurX = do3d.filters[0].blurY = int(deph * 0.005);
                }

            }

创建一个3D球体

var s:Sphere = new Sphere(new WireframeMaterial(), 150128);
s.name 
= "sphere 11";
scene.addChild(s);

创建一个特效层

var bfx:BitmapEffectLayer = new BitmapEffectLayer(viewport, 500500);
viewport.containerSprite.addLayer(bfx);

把球体加入这个特效层,并为层定义特效

bfx.addDisplayObject3D(s);
bfx.addEffect(
new BitmapLayerEffect(new BlurFilter(228)));
bfx.setScroll(
0-4);
bfx.setTracking(s);

光照效果在前面的文章已提供源码,请参阅。

Preview:http://niuniuzhu.cn/p/3DRenderDemo/index.html


[新闻]康盛 Manyou 开放平台 (MYOP) 体验版上线
文章来源:http://www.cnblogs.com/niuniuzhu/archive/2008/07/08/1237845.html

posted on 2008-07-08 00:58 牛牛猪 阅读(290) 评论(0)  编辑 收藏 引用 所属分类: Flex / AS3

只有注册用户登录后才能发表评论。
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(12)

随笔分类

随笔档案

文章分类

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜