AS3Dmod
Perlin Blob
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package { import com.as3dmod.ModifierStack; import com.as3dmod.modifiers.Perlin; import com.as3dmod.plugins.pv3d.LibraryPv3d; import flash.events.Event; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.materials.shaders.GouraudShader; import org.papervision3d.materials.shaders.ShadedMaterial; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; [SWF(width="900", height="480", backgroundColor="#000000", frameRate="31")] public class PerlinWater extends BasicView { [Embed(source="assets/seamlesswater.jpg")] private var waterAsset:Class; private var sphere:Sphere; private var modifierStack:ModifierStack; public function PerlinWater() { var bitmapMaterial:BitmapMaterial = new BitmapMaterial(new waterAsset().bitmapData, true); sphere = new Sphere(bitmapMaterial, 400, 16, 12); sphere.rotationX = 45; sphere.rotationY = 45; modifierStack = new ModifierStack(new LibraryPv3d(), sphere); var perlin:Perlin = new Perlin(2); modifierStack.addModifier(perlin); scene.addChild(sphere); startRendering(); } override protected function onRenderTick(event:Event=null):void { sphere.rotationY += (viewport.containerSprite.mouseX - sphere.rotationY) * .1; modifierStack.apply(); super.onRenderTick(event); } } } |
AS3DMod Taper
package { import com.as3dmod.ModifierStack; import com.as3dmod.modifiers.Taper; import com.as3dmod.plugins.pv3d.LibraryPv3d; import flash.events.Event; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.GouraudMaterial; import org.papervision3d.objects.primitives.Cylinder; import org.papervision3d.view.BasicView; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class As3dModTaper extends BasicView { private var cylinder:Cylinder; private var modifierStack:ModifierStack; private var taper:Taper; public function As3dModTaper() { var light:PointLight3D = new PointLight3D(); var cellMaterial:GouraudMaterial = new GouraudMaterial(light, 0xcc0000, 0x111111, 10); cellMaterial.doubleSided = true; cylinder = new Cylinder(cellMaterial, 100, 500, 16, 12); modifierStack = new ModifierStack(new LibraryPv3d(), cylinder); taper = new Taper(3); taper.setFalloff(0.1, 0.5); taper.power = 3; modifierStack.addModifier(taper); scene.addChild(cylinder); startRendering(); } override protected function onRenderTick(event:Event=null):void { cylinder.rotationY += (viewport.containerSprite.mouseX - cylinder.rotationY) * .1; var targetForce:Number = viewport.mouseY / 200; taper.force += (targetForce - taper.force) * .1; modifierStack.apply(); super.onRenderTick(event); } } }
AS3DMod Perlin Noise
package { import com.as3dmod.ModifierStack; import com.as3dmod.modifiers.Perlin; import com.as3dmod.modifiers.Twist; import com.as3dmod.plugins.pv3d.LibraryPv3d; import flash.events.Event; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.GouraudMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.view.BasicView; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class As3dModPerlin extends BasicView { private var plane:Plane; private var modifierStack:ModifierStack; public function As3dModPerlin() { var light:PointLight3D = new PointLight3D(); var cellMaterial:GouraudMaterial = new GouraudMaterial(light, 0xcc0000, 0x111111, 10); cellMaterial.doubleSided = true; plane = new Plane(cellMaterial, 800, 800, 20, 20); plane.rotationX = 45; plane.rotationY = 45; modifierStack = new ModifierStack(new LibraryPv3d(), plane); var perlin:Perlin = new Perlin(3); modifierStack.addModifier(perlin); scene.addChild(plane); startRendering(); } override protected function onRenderTick(event:Event=null):void { plane.rotationY += (viewport.containerSprite.mouseX - plane.rotationY) * .1; modifierStack.apply(); super.onRenderTick(event); } } }
AS3DMod Twist
package { import com.as3dmod.ModifierStack; import com.as3dmod.modifiers.Twist; import com.as3dmod.plugins.pv3d.LibraryPv3d; import flash.events.Event; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.GouraudMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.view.BasicView; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class As3dModTwist extends BasicView { private var plane:Plane; private var modifierStack:ModifierStack; private var twist:Twist; public function As3dModTwist() { var light:PointLight3D = new PointLight3D(); var cellMaterial:GouraudMaterial = new GouraudMaterial(light, 0xcc0000, 0x111111, 10); cellMaterial.doubleSided = true; plane = new Plane(cellMaterial, 800, 800, 20, 20); plane.rotationX = 45; plane.rotationY = 45; modifierStack = new ModifierStack(new LibraryPv3d(), plane); twist = new Twist(); modifierStack.addModifier(twist); scene.addChild(plane); startRendering(); } override protected function onRenderTick(event:Event=null):void { plane.rotationY += (viewport.containerSprite.mouseX - plane.rotationY) * .1; twist.angle += (viewport.containerSprite.mouseY * Math.PI / 180 - twist.angle) * .1; modifierStack.apply(); super.onRenderTick(event); } } }
Search
Recommended Books
Speaking at FITC Toronto
Recent Posts
- FDT Super Awesome March Deal
- FDT Theme Designer
- haXe Tutorial
- AS3 Signals Tutorial
- Preferred Video Tutorial Resolution?
- TweenMax – Tweening a timeline (Advanced Tweening)
- Robotlegs + Flight + Union Platform
- Back in the saddle
- Eclipse Theme Designer Preview
- RobotLegs Hello World Video Tutorial
- 10 Things Every Senior Flash Developer Should Know
- Efflex – 3D Effects for Flex
- MorphController – Mighty Morphing Papervision3D
- End dump
- Test if a plane is within the view of the camera (aka testing if culled)
Recent Comments
- KD on ActionScript 3 – Model View Controller (MVC)
- BAM5 on haXe Tutorial
- AlexG on Finding 2D Coordinates of a DisplayObject3D
- Josh on ActionScript 3 – Model View Controller (MVC)
- martin everett on requests
- martin everett on requests
- lillacska on Dragging Spheres
- Guy Ritchie on MXML without the Flex framework
- Pedro on ActionScript 3 – Namespaces
- daveevolve on AS3DMod Perlin Noise
Categories
Archives
Preferred Video Tutorial Resolution
- 1024x768 (53%, 85 Votes)
- 1280x1024 (15%, 24 Votes)
- 1920x1080 (15%, 24 Votes)
- 800x600 (13%, 20 Votes)
- 480x320 (4%, 6 Votes)
- 640x480 (0%, 2 Votes)
Total Voters: 160


