Archive for the ‘FLASH’ Category
If you are exporting from blender to actionscript directly so you can get your models into flash as script you can use the Blender to .as3 exporter which so kindly supports all flash 3d engines currently Away3D, Papervision3D and Sandy3D. Dennis Ippel made the Blender exporter a while back but the update supports papervision 2.0.
- Post on the exporter and how to use
- Sandy 3.0 Example
- Away3D Example
- Papervision3D 1.7 Example
- Papervision3D 2.0 Example
- ActionScript 3.0 exporter at the Blender wiki
The benefits of COLLADA are nice but there are so many differences that you can run into trouble. With the exporter it is a direct faces and vector export without all the bloat of DAE/COLLADA xml. This works if you are only developing for flash and dont’ need to use the models in other platforms/systems/engines that aren’t in flash.
I have been doing lots of Papervision 3D for a project recently and needed to debug some placement and camera issues. I did a quick search and found PV3DDebug by Jason Bejot and it worked out great and is a pretty sweet utility I thought I would mention when you need to debug Papervision or even for inclusion as a debug console in all your papervision apps and games. It is a good base for your own consoles or debug panels. It is also a great tool to help out with focus and zoom issues and understanding with camera placement.
The code is really easy to drop in and you can get lots of info on the PV3D scenes and camera manipulation.
The Zupko show continues with reflections in Papervision 3D [demo].
Be sure to check out the shadow demo that this is based on:
After posting my shadow experiment, Patrick Matte posed a question wondering if I would be able to do real-time reflections in a similar manner. The next day I had it done, along with some nice iterations along the way: orthographic and perspective projection (I can release those later if anyone really wants them). I’ve been sitting on it every since and finally decided I would take the time to write a little description into how its done and give the code to those who are interested (and I fixed up some code for backface culling in the reflection this morning).
There is another new Tween engine from Grant Skinner called gTween, further demonstrating the fun in coding with AS3. Frameworks and kits are duplicating much like the Python community because the language and platform are quite empowering. Do we have too many Tween engines, maybe but be glad the flash community has this many and share, it only makes each iteration better.
Additional Features
gTween has a lot of additional features. I’m not going to write about all of them, but here are a few:
- autoHide, sets the target’s visible to false when the tweened alpha is 0
- autoReverse, reverses the tween when it ends (and plays it backwards if autoPlay is true).
- smartRotate, rotates in shortest direction
- supports using setSize for tweening height and width on components
- support for updating properties like matrix and colorTransform automatically during a tween.
- jump to any point in a tween by setting position.
- loop a tween by setting nextTween equal to the same tween.
- determine the state of a tween with the state and paused properties.
Download (Beta 1)
To access the API documentation, and download the latest build of GTween, visit the GTween page at gskinner.com/libraries/gtween/.
Here is a list of all open AS3 Tweening engines and base kits
Well, ES4 and ES3 battles are over for javascript. ES4 being the spec that AS3 Actionscript 3 is based on. From the two people that are most in this Douglas Crockford and Brendan Eich, Crockford states “ES4 is no more”.
It is more a merging of the two ideas (continuing ES3 javascript or jumping to a new and improved ES4 Javascript 2 spec). But still hopefully it retains the fun of AS3 scripting. Javascripting with ES3 is fun but it has some quirks that make it a bit needy of frameworks to make development faster. With ES4 based AS3 I have really enjoyed the improvement and simplification of things like event handling and typing. We shall see what happens over time. Maybe the NBL of Javascript2 just isn’t going to happen, or it will slow down now.
Here are some really stylish and well done uses of Papervision 3D to make fun games. The people at Bloc recently launched Meta4orce, a unique interactive sci-fi TV show site with some great and numerous uses of papervision 3d. My favorite is the tron like style and the tower defense game called shock to the system.
and many more check them out at Iain Lobb.
Making great games, applications and tools using flash, silverlight or other tools that are emerging such as Unity3D takes great style, effort and knowing your target. We need to know what the end-user machine has at hand. The Unity 3d guys put together a great post on the capabilities of casual gaming machines. With all the talk about flash 3d, unity3d and silverlight what level are you targeting and what group of people can actually PLAY your games as you envision.
Pretty much everyone knows Valve’s hardware survey – it’s a very valuable resource that shows what hardware the typical “hardcore PC gamer” has (that is, gamers that play Valve’s games).
However, the “casual gamer”, which is what Unity games are mostly targeted at, probably has slightly different hardware. “Slightly” being a very relative term of course.
Lo and behold – we have a glimpse into that data.
How? First time the Unity Web Player is installed, it submits anonymous hardware details (details in the EULA). This happens only once, and contains no personally identifiable information. It’s much like visitor statistics trackers on the websites that gather your OS, browser information and whatnot.
…
Remember, all this data is from people who installed Unity Web Player (most likely because they wanted to play some Unity content on the web). Hardware of standalone game players might be different, and hardware of your game’s players might be different as well. The data set is well over a million samples at the moment.
Check out the full stats here.
The most interesting stats to me:
OS Platforms
Windows 96.8%
Mac OS X 3.2%
CPU Core count overall
1 54.7%
2 44.1%
4 1.1%
8 .1%
Wow this one is surprising, but with the type of gamer that will play and download a quality new plugin to get to a game, maybe not. They need to have the latest and greatest. Multi-core processors have been selling for about 2-3 years so this is a continuing trend that will make Flash 3d and even plugins like Unity 3d better over the short term.
Also when you check it over at Unity Blog note the top cards, it is a bit painful if you are a casual gamer developer. Not a decent card in the top 10-15. But that is changing rapidly over the next 1-2 years in this regard. But this also vyes well for flash based games that rely on dual core software rendered results right now as a decent constraint for developers to keep content painfully accessible to all states of machinery out there.
I wonder if this information is available on the flash player and public? This is specific to the Unity 3D plugin that is also a bit of a different market that is willing to install a plugin for better experiences. With Flash it is usually preinstalled or auto updated for a casual user and might be different as Flash has a 98% penetration rate. Or for that matter the Director users which would be more gaming focused which amout ot about 40% of internet users. But as with the case of Unity it is specific to games right now and a small penetration rate, Flash is also apps, ads, tools, demos, interactives in addition to games. Having this information on Flash or Director would be nice.
I rarely mention stuff I have worked on here but I got a chance to use APE and AS3 on the online Plinko game at the site for the Price is Right videogame for the famed pink Plinko Board. Who doesn’t love Plinko?
I did the programming on this back when I still worked at emarketing/prizelogic.
I will be featuring a small iteration to APE with draggable particles and how I did it. In the end I didn’t use the draggable particles but they are fun (i ended up changing my collision/border particles after testing). I ended up controlling the drop location by swapping out a wheel particle after they dropped it. So that it got the famous Plinko disc bounce and roll.
Why did I use APE? Well it is the least complex physics engine. I started off with Box2dFlashAS3 and will post that one maybe as well but ended up going with APE mainly for integration it was easier that it was a less intensive codebase. Box2DFlashAS3 can scare non C++ coders with it’s style let alone AS2 coders moving to AS3.
It is slower with all the other animation going on in the site but you can also play on my server here just the Plinko part.
Can you get 10,000?
Roxik has a 3d physics engine of his own. This is the same dude that did the well done pictaps site.
Looks like he also recently added an engine for cloth.
Also the bones demo is pretty sweet
UPDATE: See comments and papervision list for revert of this change. You can now use localRotationX, localrotationY and localRotation Z instead. yaw(), pitch() and roll() are back by popular demand.
Hi List,
Sorry for this confusion, but we decided to revert back to pitch(
angle ), yaw( angle ) and roll( angle ) methods.There are three new getter / setters now though:
do3d.localRotationX
do3d.localRotationY
do3d.localRotationZSo:
pitch( 30 ) would be the same as doing localRotationX = 30;
Note that localRotationX / Y /Z are rotations relative to the
rotation as set by rotationX / Y / Z.
Also note that after do3d.lookAt() localRotationX/Y/Z will be resetted to 0Tim
ORIGINAL POST:
Papervision 3D 2.0 Alpha has been undergoing lots of changes and one you might want to know about is the object yaw, pitch and roll change. Thisis changing on how you access them but only slightly. This is good because you an read and write the values on the object not just set them. Per the papervision list from the man Tim Knip:
On many users request:
DisplayObject3D‘s methods pitch(), yaw() and roll() are now getters / setters.
Usage:
do3d.yaw = degrees;
do3d.pitch = degrees;
do3d.roll = degrees;var myYaw : Number = do3d.yaw;
This means these values are now ‘absolute’ values instead of previous
‘relative’ values as in deprecated do3d.yaw( 1 );Let me know any issues (as I’m sure there are…)
Tim
This only affects the latest and greatest revisions of papervision but is definitely a good change. It is good to make changes that make more sense without worrying about breaking changes.
















