I’ve been trying to find more time lately to experiment with C++ and get more familiar with the OpenGL API and to achieve this have been using the excellent Cinder library. I’m a complete C++ novice and, coming from a Flash background, it’s immediately apparent how much of the hard work had been done for you in higher level languages like AS3. Learning about pointers, memory allocation and fumbling your way around undescriptive compile errors is bit of an eye opener, although thankfully libraries like Cinder and OpenFrameworks help take a lot of the pain out of the transition and ultimately function as very exciting and inspiring tools to work with. Read : Noise-Reactive Particle Sphere »
I’ve made a couple of small improvements to the PaperSprite class:
- The visible face of the plane is updated automatically only when required. This saves on processing load and also means you can just set up the PaperSprite and not have to worry about anything else, just tween the crap out of all its properties and it won’t mind one bit. (Thanks to Jesse for the pointers re. using stage.invalidate for this process)
- The back face is now automatically flipped horizontally, so text and graphics are no longer mirrored and will display correctly
- I’ve changed the logic which sets the dynamic registration point for the pivot. This should now correctly line up the front and back faces of the 3D plane, regardless of where their individual registration points are.
Also, some people have asked how to use it, so here is a really quick example to get you up and running with PaperSprite if you are not familiar with using classes and are using the Flash IDE to compile your movie:
- First, download the PaperSprite class and put the soulwire folder in the same directory as your FLA or source code.
- Then paste this code into the main timeline of your FLA:
A project I’m currently working on requires the drawing of ribbons in 3D space, and it’s such a simple yet beautiful effect that I thought it was time to have a quick go at it myself. Read : 3D Ribbons in Papervision »