“Be inspired, enjoy your work, keep learning and never forget to play.” — gskinner

Papervision3D Video Training Series Announced

Posted: July 12th, 2010 | Author: Fatche | Filed under: Papervision3d | No Comments »

Seb Lee-Delisle has just announced a video training series on Papervision3D at Lynda.com.

This is quite a step-up for Papervision3D and will allow more developers to start exploring the platform. There is a montly subscrition you'll need to pay to watch the entire series but if you do let us know how it worked out for you and if it's worth it :)


Papervision3D Essentials

Posted: April 1st, 2010 | Author: nuno | Filed under: Papervision3d | 1 Comment »

Jeff Winder and Paul Tondeur wrote a recent book called "Papervision3D Essentials"

Have you read it? Let us what you think in the comments.

Are you unsure about getting it? Get the sample chapter here. :)

Here's a demo of Remotely controlling a desktop AIR 2.0 app with an Android G1. The scene that is controlled is a Papervision3D scene and this is a featured example in the book.

Pretty cool ham? :)


PV3D 2D->3D , 3D->2D

Posted: July 16th, 2009 | Author: Tiago Bilou | Filed under: 3D, Actionscript3, Papervision3d | 4 Comments »

This week I finally had a project that involved 3D (about time too).
Since it involved interacting with 3D models, using Flash 10 was out of the question. So I opted to go with papervision, instead of away3D or alternativa3D, since this was the engine we where more accustomed to.

Sometime along the development of the application I came across the need to convert 3D coordinates into 2D screen coordinates and also the opposite. It's nothing new and it's already implemented in papervision, but since it took me a little while to find it, I decided to share it.

Getting the 2D Screen coordinates from a DisplayObject3D

Since papervision 2.0 that every DisplayObject3D has a property called "screen", that will return the coordinate of the object on screen. Whenever I tried to access the screen property the number3D I got back was always (0,0,0). Probably because it's an expensive operation and it's something you only need sporadically, papervision will not calculate this automatically. You need to ask papervision yourself to calculate this coordinates. To do so, just use the "calculateScreenCoords" of the do3d

myDisplayObject3D.calculateScreenCoords(camera)

Now when you try to access the "screen" property you will get the number3D with the screen coordinates for your DisplayObject3D.

Getting the 3D coordinates from a 2D point (x,y)

For this one I found a great post by zupko that tells you exactly what you need to do.
In a nutshell, you need to take your 2D coordinates (x,y) and convert them into a direction vector. Having the vector and the camera position you can create a ray (line) that will go from the camera into infinity. Next you need to specify the Z, or in another words, where do you want to stop on that line. Zupko uses a 3D plane to do that using the "getIntersectionLineNumbers"

Just remember papervision's 3D Zero (0,0,0) is at the center of the screen and not on the upper left corner like the 2D Zero (0,0)


pv3d gallery for actionscript 3 project

Posted: November 9th, 2008 | Author: Ivan Valadares | Filed under: 3D, Actionscript3, Code, Papervision3d | 2 Comments »

I start working on a photo library in papervision, so I look around I got an example from flashEnabledBlog, one of the problems was that the example was in flash cs3 and I need it in flex actionscript project, the other one was that the example was done with old papervision and tweener versions, so I had to port it. It’s a good start if you have to do something like it. I Include lasted versions of Tweener and Papervision in the zip file, you just have to run it.

pv3d_gallery_as3project


Dreaming in Flash at The Tech Labs

Posted: July 7th, 2008 | Author: Idoru | Filed under: Actionscript3, Adobe AIR, Dreaming in Flash, News, Papervision3d, Tutorial | Tags: , , , | 14 Comments »

We're proud to announce that Dreaming has published a few tutorials over at The Tech Labs, these tutorials are exclusive and can be accessed at: http://www.thetechlabs.com/

They include an air contact manager, and two sound equalizer how-tos with one of them showing how to get those cool pv3d equalizers.

Enjoy!


Papervision3d GW Memory Leak

Posted: February 19th, 2008 | Author: Idoru | Filed under: 3D, Actionscript3, Papervision3d, WorkAround | 12 Comments »

Yesterday I came across a nasty leak with GW, it just wouldn't kill my moviematerials after I removed all the references to them, I tried it all, removeChild, removeListener, weak keys... you name it.

So I finally decided to go have a look at Papervision's destroy methods, and surprise surprise they weren't being called, no harm there, it's alpha these things are meant to happen :)

So here's what you have to do to force those destroy methods to execute, and clean your memory.

In org.papervision3d.core.proto.MaterialObject3D  set the destroy method from protected to public, do the same to all the materials that you use, like org.papervision3d.materials.MovieMaterial . When you're done with these just the destroy method in your class. For me it looks something like this:

Hope this helps.


WOW meets Papervision3D

Posted: January 23rd, 2008 | Author: Idoru | Filed under: 3D, Actionscript3, Demo, Papervision3d, Physics Engine, WOW-Engine | 2 Comments »

WOW was released today, in case you don't know what WOW is let me quote a little description from WOW: "WOW-Engine is a free AS3 open source physics engine written by Seraf ( Jérôme Birembaut ) capable to handle positions in a 3D environment."

We've all been waiting for this moment for a very long time, to have physics
and 3D come together, so without further due here's a little demo I've thrown together in an hour or so.

The code will follow shortly, I just need to tidy it up :) .

demo

Enjoy.


Papervision 2.0 PhongCube Demo

Posted: December 5th, 2007 | Author: Idoru | Filed under: 3D, Actionscript3, Demo, Papervision3d | No Comments »

Today a milestone in the internet world was achieved, Papervision 2.0 Alpha codename GreatWhite is out :)

So here's a little demo on the new Phong shader :) As soon as i have the time tonight i'll put on a much nicer one. This is just to show that altough PV3d just got a new whole set of features it's still easy to use :)

PhongCube


9-Slice and Bitmap

Posted: December 3rd, 2007 | Author: Idoru | Filed under: Actionscript3, Bitmap, Papervision3d, WorkAround | 2 Comments »

Have you ever tried to take a snapshot using bitmap.draw() of a movieclip that has 9-slice enabled?

//my9SliceEnabledMc is a 40 by 40 9-slice enabled movieclip on stage
my9SliceEnabledMc.width = 200;
my9SliceEnabledMc.height = 300;
var myBitmapData = new BitmapData(200,300);
myBitmapData.draw(my9SliceEnabledMc);
addChild(new Bitmap(myBitmapData));

So what you'd expect to happen above is to have a new bitmap that looks the same as my9SliceEnabledMc,
but what you get instead is the original 40x40 movieclip.
This doesn't make sense at all, i have no idea what Adobe was thinking when they let this one through.
This was driving me crazy for a while now, and today i finally found the answer, as simple as it seems,
putting the my9SliceEnabledMc inside another sprite corrects the issue!!

//my9SliceEnabledMc is a 40 by 40 9-slice enabled movieclip on the library
var myContainer = new Sprite();
var my9SliceEnabledMc = new my9SliceEnabledMc();
myContainer.addChild(my9SliceEnabledMc);
my9SliceEnabledMc.width = 200;
my9SliceEnabledMc.height = 300;
var myBitmapData = new BitmapData(200,300);
myBitmapData.draw(myContainer);
addChild(new Bitmap(myBitmapData))

Also i should add that this is a major issue with PV3D since you cannot directly use a 9-slice item as a texture.


Papervision3D Branches

Posted: November 15th, 2007 | Author: nuno | Filed under: 3D, Actionscript3, Papervision3d | 11 Comments »

Inside the Papervision3D source, besides existing an AS2 and AS3 version, there are five derivate branches: MaterialsRestructor, Phunky, ascollada, frustrum and timk_frustum. I decided to research a bit about each one and write about what I founded..

The most important of these branches is the one called Phunky. It is the branch that will soon became the 2.0 version of Papervision3D, which in the SVN trunk is now tagged Beta 1.7 (dated 20.08.07). So, if you're using trunk, you should expect only bug-fixes. It's a bit different from other open-source projects where trunk normally means the latest revision of the project. For Papervision3D, you can think of trunk as a stable version (whatever that means for a software that's in Beta).

Someone said on the list that "switching from trunk to Phunky shouldn't break anything (doesn't impinge on the API) but should net you a performance increase".

MaterialsRestructor was a branch created to test code regarding Materials. Once changes are tested the most likely is that they go into trunk or Phunky.

I don't know much about the 'ascollada' branch besides the fact that it was created by Tim Knip and that he tries to maintain it in sync with ascollada, a actionscript library for parsing COLLADA files. I've tested loading some COLLADA files with Beta 1.7 and it works fine so I don't have the need to use this branch yet but Ivan is using it (the DEA class), so he might have something to add here.

The 'frustum' (definition) branch has a 'BVH mocap importer class' with a beautiful sample here, but I was unable to find the real purpose of this branch. You can check the examples folder for the sample sources.

'timk_frustum' is a branch that appeared when Tim Knip put up for testing a new FrustumCamera3D, in early August 2007. This class is now also at the 'frustum' branch.

And that's it. If you know more about this and want to share please do. Thanks.

Update: John Grden posted a comment explaining a bit more about the branches, thanks!