Heyo all, Been working on getting a 3DS Max biped-rigged and animated character over into Away3D and have had great success! Thought I'd share the class I built with the group in case it makes life easier for anyone else. :)
Download here: http://revalis.dbinspiredarts.com/CustomAnimation.zip I'll also be uploading it to the GoogleGroup. Just didn't see a way to attach it to this message. =/ It's a very easy setup to use once you've saved the file down. (With the example below, in 3DS Max, frames 0-25 are a walk cycle and frame 26 is a single frame idle state.) //Just add another global variable to accompany your SkinAnimation private var skinAnim :SkinAnimation; private var MyAnim :CustomAnimation; Then after you setup your SkinAnimation Class as you normally would, add: skinAnim = (model.animationLibrary["default"] as AnimationData).animation as SkinAnimation; // as normal MyAnim = new CustomAnimation(skinAnim); MyAnim.addAnimationSequence("walk",0,25,true); MyAnim.addAnimationSequence("idle",26,1,false); And that's it. It will automatically assign the "active" animation sequence to the last one you entered. But you can switch between the different animation sets by using .playSequence(name) or .nextSequence() if you just want to iterate through the different sets. I wrote more detailed instructions in the class file, also copied them below. Enjoy! Save this to your (actionscript)/away3d/animators folder. Same folder as SkinAnimation.as You will need to edit SkinAnimation.as to change private var _channels:Array; to public (note: I included the editted SkinAnimation.as in the .zip file. This is the only thing different in it) ******************************************************************************************************* * USEAGE: * .addAnimationSequence(name, start, length, loop) - Adds a sequence name: whatever you want to call the sequence. ie, "walk", "idle", "dance", "jump", ... start: keyframe it begins on in 3d package. ie, 0, 1, 2, ... length: total frames. ie, 3, 25, 5, ... loop: does the sequence loop, true/false Example: .addAnimationSequence("walk", 0, 25, true); .playSequence(name) - sets the active sequence name: the name specified when adding the sequence. Example: .playSequence("walk"); .nextSequence() - increments to the next sequence in the Array, based on the order added. Example: .nextSequence(); *******************************************************************************************************
