A Flash Developer Resource Site

Results 1 to 6 of 6

Thread: Variable Framerate with Swift 3D MAX?

  1. #1
    Junior Member
    Join Date
    Sep 2006
    Posts
    2

    Variable Framerate with Swift 3D MAX?

    This may be a general-purpose Flash question, I'm not really sure. We're pretty new to Flash (and we just bought Swift 3D MAX tonight). But here's what we're trying to do:

    - Our FLA composition is at 30fps
    - I'd like to export an animation with Swift 3D MAX at 15fps

    Essentially, I need to put a blank keyframe between each keyframe that Swift creates. Is this possible with the exporter, or is there an easy way to do this quickly with Flash's workflow?

    Thanks for any pointers,
    Matthew

  2. #2
    supervillain gerbick's Avatar
    Join Date
    Jul 2000
    Location
    undecided.
    Posts
    18,986
    As is stands - I'd definitely class this as a general Flash question, imho - I'd say adding a keyframe into Flash wouldn't be "quicker" as it's still an affair of adding one keyframe at a time.

    However, I can't figure out why you'd even want to do that. You can change/re-render the animation within Swift3D at 30fps just to make it "match up" if you don't want it to play doubly fast within Flash than what you've rendered within Swift3D.

    Adding an extra keyframe per frame within Flash, I can't think of any automated ways... just quicker for me to re-render within Swift3D.

    Just one way of "thinking" about it. And trust me... I just got through rendering a huge animation... I'd hate to think about adding a keyframe per animation frame... I'd sooner shoot myself.

    But then again, I'm not exactly a "guru" within Flash either. So who knows... a quick search around, and I've not found anything though. I'm quite sure the other gurus around here can probably give you another way of thinking of this.

    Good luck with it all dude. And welcome to Flashkit, btw

    [ Hello ] | [ gerbick ] | [ Ω ]

  3. #3
    supervillain gerbick's Avatar
    Join Date
    Jul 2000
    Location
    undecided.
    Posts
    18,986
    Just hit me... I mean re-render within 3ds max, not Swift3D.

    [ Hello ] | [ gerbick ] | [ Ω ]

  4. #4
    ism BlinkOk's Avatar
    Join Date
    Aug 2001
    Location
    , location, location
    Posts
    5,002
    if you want your anim at 15fps then you should be able to chane the movies frame rate to 15fps in flash
    --------or------------
    if you want to make each frame two frames long then;
    a) import you animation into flash
    b) you can click on the border above the first frame
    c) hit f5. then press the "." key (full stop)
    d) repeat c
    it's a little tedious but it works ( you have to hit F5 and , over and over)
    Graphics Attract, Motion Engages, Gameplay Addicts
    XP Pro | P4 2.8Ghz | 2Gb | 80Gb,40Gb | 128Mb DDR ATI Radeon 9800 Pro

  5. #5
    Junior Member
    Join Date
    Sep 2006
    Posts
    2
    Thanks for the feedback guys! The F5/. shortcuts are pretty useful.

    We only want to reduce the FPS on some of the character animations for filesize reasons. Although, at some point it may be worth the increase if it reduces production time significantly...
    Matthew Wegner
    Development Director, Flashbang Studios | Coordinator, IGDA Phoenix Chapter
    Fun-Motion Physics Games - Reviews, Game Downloads, and Developer Interviews

  6. #6
    ism BlinkOk's Avatar
    Join Date
    Aug 2001
    Location
    , location, location
    Posts
    5,002
    cool. you could always make the animation play every second frame through actionscript like this (assuming the mc's name is swiftMc);
    Code:
    //
    // Stop the execution of the mc
    swiftMc.stop();
    //
    // frame counter
    swiftMc.count = 0;
    //
    // cycle : this defines the number of frames between
    // each step in the animation;
    // 0 = frame appears every frame (same as movie fps)
    // 1 = frame appears for 2 frames 
    // 2 = frame appears for 3 frames
    //
    swiftMc.cycle = 1;
    //
    //
    swiftMc.onEnterFrame = function() {
    	switch(this.count) {
    		case this.cycle:
    			if (this._currentframe < this._totalframes)
    				this.nextFrame();
    			else
    				this.gotoAndStop(1);
    			this.count = 0;
    			break;		
    		default:
    			this.count++;
    			break;		
    	}
    }
    it is always better to implement these types of functions in the main movies enterframe code. it's never a good idea to have enterFrame code floating round everywhere.
    Last edited by BlinkOk; 09-04-2006 at 06:20 PM.
    Graphics Attract, Motion Engages, Gameplay Addicts
    XP Pro | P4 2.8Ghz | 2Gb | 80Gb,40Gb | 128Mb DDR ATI Radeon 9800 Pro

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center