Archive for the ‘Experiment’ Category

pv3d物体在stage上的坐标投射

thumb_screenprojection

pv3d提供了方便的接口。将物体的autoCalcScreenCoords设为true,可以直接从screen属性取到坐标值。进入看源代码。

(阅读全文……)

PV3D操作节点做变型

thumb_meshclock

这里看效果。点击更多看源代码。

(阅读全文……)

BitmapData粒子再测试

效果在这里。图片被切割为8000个7 x 6 像素的粒子,用copyPixel的方式绘制到另一张BitmapData上。如果创建一系列alpha值0到255的bitmapData序列,作为copyPixel的参数,还可以实现透明渐变的效果。运动类使用了TweenNano

关键部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private function drawParticle():void {
            //bmd作为画布的bitmapData
            bmd.lock()
            bmd.colorTransform(bmd.rect, ctm);
            var op:Point = new Point();
            for (var i:int = 0; i < w; i++) {
                for (var j:int = 0; j < h; j++) {
                    //得到原图片相应位置的图块
                    op.x = i * bw;
                    op.y = j * bh;
                    //pArr为一个二维数组类,tp可看做一个Point,储存了当前图块应在的位置
                    var tp:SimpleParticle2D = pArr.get(i, j);
                    //从原图对应i,j的位置获得图块,复制到画布的新位置上
                    bmd.copyPixels(src, new Rectangle(op.x,op.y,bw,bh), new Point(tp.x, tp.y));
                }
            }
            bmd.unlock();
        }

字符串效果缓动类

写了一个小效果类StringTween,用于做日本风格的字符串变化效果。演示请看这里

类文件和演示源文件在这里下载。

 

 

 

Flurry光效(2)

自从上次开始之后一直比较忙,没有深入做下去。只做到了一个足够项目应用的程度。演示看这里

flurry light

图形化音乐频谱

这里,dirty code,没优化,效率还可以。mp3文件较大,需要一点耐心 :)

Graphic Spectrum

模仿Flurry效果

用Mac的同学都知道著名的Flurry屏保。我想尝试用Flash模仿Flurry的效果。这里是一个初步的尝试,先感觉一下颜色和运动的控制。Flurry应该是用粒子的方式做的,并且是三维的,而我目前是在二维上直接绘制光带。等有时间将目前的完善后,再尝试用粒子来做。鼠标点击打开/关闭模糊效果。

flurry

Jazz Curve

Demo

thumb_lines

Flash火焰效果讲解

火焰只是基本的效果之一,柏林噪声+偏移滤镜,想像创造无限可能(很像广告语)。讲解请看这里

thumb_perlinfire

PV3D环境反射贴图

面片 变形球

pv3d的材质实现不如away3D的简便…直接施加环境贴图后得到的不是环境反射贴图。搜了一下,发现每次渲染前物体的每个面和节点需要执行一下法线修正,才能得到正确的贴图。shader材质也是如此。

1
2
face.createNormal();
vertex.calculateNormal();

thumb_envmapping