The Animation System needs updates


  • Admin

    Basically anything that is not pre rendered. Take a pixar movie for example, they are pre-rendered. So they use A LOT of CPU power to render each frame into a video file.

    With games, your using your CPU power to render each frames graphics and also handle a lot of instructions that dynamically change what is visible on screen. Meaning things can change in real time (unlike a movie). Because of this, you have limitations on how much animation frames, graphic sizes and other graphical elements.

    Animation platforms that are designed to create movies and cartoons are often not suitable for games (at least not with out taking limitations into consideration and working around them) because the animations they create have zero user interaction when completed.



  • @Murtaza ok thanks!



  • A couple of other things to consider:.

    Desktop game engines support other popular content creations apps. Most game engines don't need to create assets in the engine because they are created in other software and imported into the engine, as you mentioned.

    1. It would be good to support other iPad apps. I think Animation Pro would be a good start as there aren't really that many apps of its kind that are full featured.
    2. Play sound on animation frame. I have often found myself needing to play sounds on different frames. A basic example is a walk animation that plays a sound on each frame. Since we can change the pitch of sounds, this would change pitch perhaps every other frame. I accidentally achieved this in one project but found that it was only because the animation was 1 frame long. My 6-frame animation only triggered the sound at the end.
    3. Adding animations to an animation player frame by frame should allow a bulk-add. Check each frame you want to add and all are added sequentially.
    4. I can use the Workflow app to create a spriteshyt. Perhaps could import sprite sheets?


  • @Murtaza I wish each animation could have its own collision. That would be so helpful on so many levels. In general, a changing collision type behavior would probably be useful.



  • Changing collisions would be good...


  • Admin

    @TutorialDoctor said in The Animation System needs updates:

    A couple of other things to consider:.

    Desktop game engines support other popular content creations apps. Most game engines don't need to create assets in the engine because they are created in other software and imported into the engine, as you mentioned.

    1. It would be good to support other iPad apps. I think Animation Pro would be a good start as there aren't really that many apps of its kind that are full featured.
    2. Play sound on animation frame. I have often found myself needing to play sounds on different frames. A basic example is a walk animation that plays a sound on each frame. Since we can change the pitch of sounds, this would change pitch perhaps every other frame. I accidentally achieved this in one project but found that it was only because the animation was 1 frame long. My 6-frame animation only triggered the sound at the end.
    3. Adding animations to an animation player frame by frame should allow a bulk-add. Check each frame you want to add and all are added sequentially.
    4. I can use the Workflow app to create a spriteshyt. Perhaps could import sprite sheets?
    1. We do support other apps. We support iOS's built "Open In" dialog. So if another app can export to other apps, hyperPad should show up. For example, in Garage band you can export to hyperPad. The issue with animations, is tools like Animation Pro are not designed for game engines. So they don't export a sprite sheet, they'd export image frame individually, and that's where it gets kind of weird (not in our control). But Again, we have dropbox to solve for this.

    2. Playing a sound on each frame is something you almost never want to do. No game is done this way. What will end up happening is you'll have overlapping sounds and it'll end up sounding like a machine gun. As a test, put a sound on a timer. You'll see the problem, especially if you have fast or lots of frames. What you want to do in this case, is play the sound manually, and use some wait behaviours to time it. Also in the last update we made the sound effects use input fields, so you can change the pitch dynamically.

    3. Yes this would be a good addition. As a work around, you can create a new cycle when you're importing. This way you don't import then create animation. But with this you're limited to the 2048px spritehseet.

    4. You can import sprite sheets with Dropbox (linking your project with dropbox, not actually importing from dropbox). The issue here is you need to create a metadata file with it. If your program can create "Cocos2D" compatible sprite sheets, they will work with hyperPad


  • Admin

    @GameCRAZY
    Creating a collision for each animation is actually really resource intensive and would cause lots of problems.

    Ideally we'd like to add Bones animations, where each limb would have it's own collision shape. This would create more precise physics. But this is a bit off into the future.



  • @Murtaza even if you add the bones feature, could you make a change collision behavior for quirky physics? For example, maybe you want an object to squeeze through a hole, but still die if it hits into somebody if you go through the hole too early.

    Is there a workaround for the change collision behavior? Or for running behaviors based on animation frames?


  • Admin

    The work around would be to have different versions of the object in each state and enable/disable them as needed.



  • Still feeling like being able to check multiple assets and delete them all at once should be added (even though I can sync with dropbox, which can takes forever for me). Not many people use the animations system it seems but this becomes a great hassle when the number of frames gets high. One alternative I have found is that I should import the frames into a folder. That way I can delete the folder to delete all images.