I created a basic Plane and applied a BitmapMaterial to it. Before each frame a sine wave is applied to the plane vertices.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
var timeNumber:Number = 0; override public function loop3D(e:Event):void { if (!ready) { return; } var p:Plane = rootNode.getChildByName("plane") as Plane; for(var segW:int = 0; segW <= p.segmentsW; segW++) { var newZ:Number = Math.sin(segW + timeNumber) * rippleHeight; for (var segH:int = 0; segH <= p.segmentsH; segH++) { var currentIndex:int = ((p.segmentsH + 1) * segW) + segH; p.geometry.vertices[currentIndex].z = newZ; } timeNumber += .05; if (timeNumber == 360) { timeNumber = 0; } } rootNode.rotationX = int(-(this.mouseY - (this.height/2))) * 0.5; rootNode.rotationY = int(-(this.mouseX - (this.width/2))) * 0.5; scene3D.renderCamera(camera3D); } |
Thank you for sharing!
This is exactly what I was looking for. Thanks so much!