3D Animation in App

Is it possible to run 3D Animation in (and directly as part of) an iPad app, or do you have to export an image sequence and run that instead.
There is a book called "The Pedlar Lady of Gushing Cross" that has 3D animation on its pages, and I didn't realise you could do that.
Here is a link to the book website:
http://www.moving-tales.com/
Any and all feedback/opinions is appreciated.
Thanks. Steve.

Hi Steve-
You can do page-flip type animations super easily using a UIImageView, so if you already have a way to render 3D animations using 3rd party software you can go that route: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImageViewClass/Reference/Reference.html#//appleref/occ/instp/UIImageView/animationImages
Otherwise there is OpenGL for more sophisticated 3D graphics appropriate for gaming: http://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGL ESProgrammingGuide/OpenGLESontheiPhone/OpenGLESontheiPhone.html#//appleref/doc/uid/TP40008793-CH101-SW1
Hope this helps.
-John
]]]]]]]]---- if anyone's response answers your question, please mark the appropriate box in the header of the response...

Similar Messages

  • Can I upload a Captivate course to Connect AFTER embedding Edge animations through App Packager?

    I would like to include animations I've created in Edge Animate and the App Packager makes this pretty easy. However, afterward I have an HTML course that I can't seem to upload to Connect. When I ZIP it up I'm told by Connect that it's an invalid format. Also, when I export a Captivate course as a zipped HTML course, uploading it to Connect works, but the spinning loader shows indefinitely.

    So in case anyone comes across this post with the same question, I found out a way to sort of do this. I still couldn't figure out how to upload the ZIP to Connect properly, but I was able to use the Web Object Interaction and load up the HTML output of Edge Animate. It's just a folder with a bunch of files and an index file. All you do is choose the top-level folder, resize your interaction to fit, and everything works out well! No need to use the App Pakcager, and animations can be inserted any time while you're creating your project.

  • Fade animation between apps?

    I like the fade transition iOS 7 uses to move between apps, when Paralax and Zoom are disabled by turning Reduce Motion on. Is there an app which does a similar fade in OS X? For example, switching from my browser to my media player or my word processor, etc. I just find such an immediate move to be abrupt.

    HCSG,
    Unfortunately, presenter/connect/breeze does not support all
    the PPT animations. The best option is to choose a different
    animation.
    To get the details on what PPT animations are supported go to
    http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_18774&sliceId=1
    Jorma@RealEyes

  • Small Image flipping(like a screensaver) app...have easy ? about expansion

    Working on code from:
    http://www.rscc.cc.tn.us/faculty/bell/Cst218/jhtp16.html
    have included it below, just created a directory named images
    and copy/past 8 images into that directory, and rename them bug#.gif, starting at bug0, bug1, bug2...up until bug7.gif
    Run app, it works, fine, it flips through the images
    HOWEVER, of course, while learning/doing I found it inconvenient to have to rename all of the images, and thought of screensaver programs that flips images for you, and was trying to figure out what I'd have to do to make it possible to just load an arbitrary amount/named image files to be able to flip them.
    I figure some kind of JFileChooser would have to be integrated, and then somehow, each file would have to be imported into an Array or Vector set.....
    See...that's an entirely different program....but would be interested in the above, and how I could change the code to allow ANY named image, not just images named "bug" , be apart of the array.
    Somehow, read the entire directory, and import each image into the Array, or a Vector/whatever.....
    While I understand this program ..my "programming brain" /skills are not developed enough to implement the system..hence posting :)
    Thank you for your time...
    //http://www.rscc.cc.tn.us/faculty/bell/Cst218/jhtp16.html
    // LogoAnimator.java
    // Animation a series of images
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class LogoAnimator extends JPanel
                              implements ActionListener {
       protected ImageIcon images[];
       protected int totalImages = 8,   //changed from 30 to 8
                     currentImage = 0,
                     animationDelay = 1500; // 50 millisecond delay
       protected Timer animationTimer;
       public LogoAnimator()
          setSize( getPreferredSize() );
          images = new ImageIcon[ totalImages ];
          for ( int i = 0; i < images.length; ++i )
             images[ i ] =
                new ImageIcon( "images/bug" + i + ".gif" );  //?!?! here, in this program, each file would have to be named "bug#"
          startAnimation();
       public void paintComponent( Graphics g )
          super.paintComponent( g );
          if ( images[ currentImage ].getImageLoadStatus() ==
               MediaTracker.COMPLETE ) {
             images[ currentImage ].paintIcon( this, g, 0, 0 );
             currentImage = ( currentImage + 1 ) % totalImages;
       public void actionPerformed( ActionEvent e )
          repaint();
       public void startAnimation()
          if ( animationTimer == null ) {
             currentImage = 0;
             animationTimer = new Timer( animationDelay, this );
             animationTimer.start();
          else  // continue from last image displayed
             if ( ! animationTimer.isRunning() )
                animationTimer.restart();
       public void stopAnimation()
          animationTimer.stop();
       public Dimension getMinimumSize()
          return getPreferredSize();
       public Dimension getPreferredSize()
          return new Dimension( 160, 80 );
       public static void main( String args[] )
          LogoAnimator anim = new LogoAnimator();
          JFrame app = new JFrame( "Animator test" );
          app.getContentPane().add( anim, BorderLayout.CENTER );
          app.addWindowListener(
             new WindowAdapter() {
                public void windowClosing( WindowEvent e )
                   System.exit( 0 );
          // The constants 10 and 30 are used below to size the
          // window 10 pixels wider than the animation and
          // 30 pixels taller than the animation.
          app.setSize( anim.getPreferredSize().width + 10,
                       anim.getPreferredSize().height + 30 );
          app.show();
    }

    This is set up to compile and run in j2se 1.4
    You can swap the comments in three marked areas to compile and run in j2se 1.5
    If using earlier versions than j2se 1.4 you'll need to replace the image loading code (2 lines, marked)
    with earlier code, such as ImageIcon (j2se 1.2) or the earlier Toolkit methods with MediaTracker.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.util.List;
    import javax.imageio.ImageIO;
    import javax.imageio.stream.FileImageInputStream;
    import javax.swing.*;
    public class SlideShow
        SlidePanel slidePanel;
        JFileChooser fileChooser;
        JComboBox slides;
        JFrame f;
        public SlideShow()
            slidePanel = new SlidePanel();
            f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(getSlidePanel(), "North");
            f.getContentPane().add(slidePanel);
            f.getContentPane().add(getControlPanel(), "South");
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
        private JPanel getSlidePanel()
            fileChooser = new JFileChooser("images/");
            slides = new JComboBox();
            Dimension d = slides.getPreferredSize();
            d.width = 125;
            slides.setPreferredSize(d);
            final JButton
                open   = new JButton("open"),
                remove = new JButton("remove");
            ActionListener l = new ActionListener()
                public void actionPerformed(ActionEvent e)
                    JButton button = (JButton)e.getSource();
                    if(button == open)
                        showDialog();
                    if(button == remove)
                        removeSlide();
            open.addActionListener(l);
            remove.addActionListener(l);
            JPanel panel = new JPanel();
            panel.add(open);
            panel.add(slides);
            panel.add(remove);
            return panel;
        private JPanel getControlPanel()
            final JButton
                start = new JButton("start"),
                stop  = new JButton("stop");
            ActionListener l = new ActionListener()
                public void actionPerformed(ActionEvent e)
                    JButton button = (JButton)e.getSource();
                    if(button == start)
                        slidePanel.start();
                    if(button == stop)
                        slidePanel.stop();
            start.addActionListener(l);
            stop.addActionListener(l);
            JPanel panel = new JPanel();
            panel.add(start);
            panel.add(stop);
            return panel;
        private void showDialog()
            if(fileChooser.showOpenDialog(f) == JFileChooser.APPROVE_OPTION)
                File file = fileChooser.getSelectedFile();
                if(hasValidExtension(file))
                    Slide slide = new Slide(file);
                    slides.addItem(slide);
                    slides.setSelectedItem(slide);
                    slidePanel.addImage(slide.getFile());
        private boolean hasValidExtension(File file)
            String[] okayExtensions = { "gif", "jpg", "png" };
            String path = file.getPath();
            String ext = path.substring(path.lastIndexOf(".") + 1).toLowerCase();
            for(int j = 0; j < okayExtensions.length; j++)
                if(ext.equals(okayExtensions[j]))
                    return true;
            return false;
        private void removeSlide()
            Slide slide = (Slide)slides.getSelectedItem();
            int index = slides.getSelectedIndex();
            slides.removeItem(slide);
            slidePanel.removeImage(index);
        public static void main(String[] args)
            new SlideShow();
    class Slide
        File file;
        public Slide(File file)
            this.file = file;
        public File getFile()
            return file;
        public String toString()
            return file.getName();
    class SlidePanel extends JPanel
        //List<BufferedImage> images;  // j2se 1.5
        List images;                   // j2se 1.4
        int count;
        boolean keepRunning;
        Thread animator;
        public SlidePanel()
            //images = Collections.synchronizedList(new ArrayList<BufferedImage>());  // 1.5
            images = Collections.synchronizedList(new ArrayList());  // j2se 1.4
            count = 0;
            keepRunning = false;
            setBackground(Color.white);
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            int w = getWidth();
            int h = getHeight();
            if(images.size() > 0)
                //BufferedImage image = images.get(count);               // j2se 1.5
                BufferedImage image = (BufferedImage)images.get(count);  // j2se 1.4
                int imageWidth = image.getWidth();
                int imageHeight = image.getHeight();
                int x = (w - imageWidth)/2;
                int y = (h - imageHeight)/2;
                g.drawImage(image, x, y, this);
        private Runnable animate = new Runnable()
            public void run()
                while(keepRunning)
                    if(images.size() == 0)
                        stop();
                        break;
                    count = (count + 1) % images.size();
                    repaint();
                    try
                        Thread.sleep(1000);
                    catch(InterruptedException ie)
                        System.err.println("animate interrupt: " + ie.getMessage());
                repaint();
        public void start()
            if(!keepRunning)
                keepRunning = true;
                animator = new Thread(animate);
                animator.start();
        public void stop()
            if(keepRunning)
                keepRunning = false;
                animator = null;
        public void addImage(File file)
            try
                FileImageInputStream fiis = new FileImageInputStream(file);  // j2se 1.4+
                images.add(ImageIO.read(fiis));                              //    "
            catch(FileNotFoundException fnfe)
                System.err.println("file: " + fnfe.getMessage());
            catch(IOException ioe)
                System.err.println("read: " + ioe.getMessage());
        public void removeImage(int index)
            images.remove(index);
    }

  • How to install animated themes in iphone 4s - S/w Upgraded to iOS6 now

    Hi Apple team,
    Is there any way of downloading installing new themes (Animated themes) in iphone 4s.
    If so, can some one please recommend a good animated theme apps.
    Thanks

    You either have a credit card associated with your account...yep, even to "purchase" free apps or do this:
    http://support.apple.com/kb/ht2534

  • Ios 7.1 animations have been getting slower since I downloaded it! Can anybody help?

    When I downloaded ios7.1 the animations opening apps were really quick. However, after a couple of weeks using it, the animations are slower. They are now at a speed close to that of ios 7.0.6. Has anybody had the same problem?

    Periodically double click the home button and close all the apps in the recently used dock. Then power off and then back on the iPod. This frees up memory.

  • How to disable the animation under mouse pointer [KDE] ?

    The computer is an old one. Thus the animation of app icon under mouse in kde is sluggish and jumpy.
    Can I disable it?
    already found. it is in the appearance -> launch feedback
    Last edited by desper (2008-05-31 15:08:48)

    Suppose one wants to let an Applet user to enter a new item in a JComboBox
    and the permission is given whenever the blank item (which is one existing
    item in the JComboBox designed by the programmer) is selected. However,
    when one selects the blank item, the cursor does not blink at the beginning
    of the blank (similar to a JTextField, the cursor is not at the left end). So if the
    user does not left-shift the cursor, after entering an item, for example "cat",
    the item appears as " cat ", and NOT "cat " as desired. So the key is
    to set the cursor at the beginning so that users do not need to left-shift the
    cursor (save users some work) to get the desired "cat ".

  • IOS 7 assessment

    About 10 days in, I find iOS 7 to be a mixed bag though slightly positive. As with all things Apple, it tends to "grow" on one.
    Positives: Seems faster; Control Panel; app closing; easier search; email thread management; photo idents.; unlimited folder apps;
    Negatives: Calendar (esp. not having "dots" in weekly view); Contact info lacks structure cues within "white space"; "washed out" colors
    Neutral: icon animations; background app refresh; new lock screen menu bar icons.
    Haven't tried Air Drop yet.
    Any suggestions re Calendar?
    What am I missing?

    Hi Gloria22,
    This setting takes advantage of the Guided Access accessiblity feature in iOS. In order to do it remotely, you will need to rely on an MDM (mobile device management) solution to make that happen. We use JAMF's Casper Suite in our school district. They have a product called Casper Focus that allows our teachers to lock/unlock and "foucs" students into a specific app on their iPads. I like it
    Hope this helps!
    ~Joe

  • DatagramSocket

    Hi I'm trying to build a simple test app using DatagramSocket (AIR 2) and I'm wondering if I absolutely need to use a server in order to communication with other applications on the local network. I have a simple test where I have 2 air apps on my home network, app "A" and app "B" (wireless connected laptop and desktop). I have an animation in app A and app B that are identical. I want the animation in app A to sync with app B, so I want app A to tell app B what frame it's currently on, and app B should update it's frame number accordingly. I'm am pretty new to using DatagramSocket, and I'm not even sure that it's the best thing to use. I just figure UDP would be a lot faster than using TCP in the case where there are a lot of things moving on the screen.
    If anybody can point to examples of sending UDP over a local network that would be great, or post some code, give insights etc.
    Thanks.

    I don't understand what the problem is now.The problem is that 1st time when Timeout occurs it throws exception. In catch block i caught the exception and call some function to perform some task. up to here every thing is fine but problem comes when loop iterates for 2nd time* the socket hangs and doesn't throw any exception when Timeout occurs. I m not sure whether Timeout occurs or not. Here is some piece of code.
    Some Code Here......
    try {
          mnSocket = new DatagramSocket(PORT);
          mnSocket.setSoTimeout(10 * 1000);
          mnSocket.setSendBufferSize(bufferSize);
          mnSocket.setReceiveBufferSize(bufferSize);
          mnSocket.setSoTimeout(10 * 1000);
          sendSolic = new SenderThread(mnSocket, 2);
          solicPacket = new DatagramPacket(buffer, buffer.length);
          while (true) {
            try {
              mnSocket.receive(solicPacket);
              Some Code Here...........
            catch (SocketTimeoutException ste) {
              sendSolic.start();
            Some Code Here........
        catch (SocketException se) {
          se.printStackTrace();
        catch (IOException ioe) {
          ioe.printStackTrace();
       Some Code Here........

  • I can't create a projector Mac and Win exe in Flash CC (?!?)

    Hello,
    I use Flash Professionnal CC and I would like to create a projector file or/and an Win exe with my animation...
    But I do not see anywhere the ability to create these files in "Publish Settings" (no Mac or Windows box to check as in CS5). I read in using Flash CC that such files were not supported (??). How can I do?
    This is urgent thank you.

    I'm sorry, I did not see an answer to my problem in the comments on your site. I read that you worked on the extension so that the projector works as well as for mac / pc is independent of the platform used.
    I use a mac (icore i7 OS10.7.5) and I answer as flash cc when I export to Win:
    "Error Win Projector Could not be created!.
    Mac Projector - Animation succes.app created successfully! "
    I'm in trouble ... : (

  • "preview" doesnt show gifs?

    when i load a gif image that is an animation, "preview" app shows it as a picture i mean its supposed to show the animation . i mean its like the image is in pause mode or something cuz its supposed to be moving cuz its a gif file and its an animated picture and when i load it in preview its just as an jpg file(not moving) whys that?

    It doesn't appear that Preview has the ability to "play" animated gifs. You can view each individual frame of the the animation.
    From Preview Help in the Help menu;
    Viewing animated GIFs
    An animated GIF is a graphic file that shows a short animation. Preview lets you look at each frame in the animation as an individual still image.
    1. Open the animated GIF file in Preview.
    2. If the window's drawer isn't already visible, choose View > Drawer.
    3. The drawer contains a thumbnail image for the animated GIF. The number of frames in the animation appears in the lower-right corner.
    4. Click the triangle beside the thumbnail image.
    5. Preview shows all the frames in the animated GIF. When you click a frame, the animation stops and Preview displays that frame.

  • Keeping older appointments in Outllok during sync

    Hi,
    During  a sync, every now and then the Desktopmanager wants to delete a large number of past appointments in both outlook as well as my BB. For my BB it's fine but I would like to keep them in outlook for review purposes. Is this possible ? I can not seem to find it in the settings.
    Kind regards,
    Mark
    The Netherlands

    Thanks, Allan for your prompt and detailed response.
    I'll comment directly to your points:
    If you have Sync Apps selected under the Apps tab for your iPhone sync preferences with iTunes, after downloading an app with your iPhone the app should be copied to your iTunes library on your computer the first time you sync your iPhone with iTunes after doing so.
    *** Yep, I can see that - done it many tines latelty, as I hesitate to update by downloading apps to the computer and then sync to the phone, for fear of replacing the French version of the app with the English one! ***
    Did you update this formally in-French version of the app with iTunes on your computer and it was replaced with the in-English version? If these are separate apps, it shouldn't be a problem.
    *** Yes indeed. However, I am not sure they ended up being two different apps. Doubt it in a way! The Animal Book app is now qualified as "in English now" ***
    You can delete the English version from your iTunes library on your computer. If the app is not in your iTunes library on your computer, the version on your iPhone can't be replaced with that version regardless your settings.
    *** That seems the route I'd like to try first. So, if I can delete the app in iTunes on the computer, presumably syncing will restore the French version of the app from the iPhone to iTunes/computer. HOW do i really delete the English version of the app from iTunes? Just checking it off before syncing? Would not that takie is out also from the iPhone when I sync?
    Thanks for your help: I do not want to loose the French version of this app, no way to replace it!
    - rt

  • Masks - "Dynamic Masks" are a must have!

    I tried to the app and created some animations to run them on iPad. This works pretty well already! 
    When I created one with a moving mask -being a very common feature when doing time line animations  - the app unfortunately reports the error:
    Unsupported feature: Dynamic Masks are not supported
    I really do hope Adobe is going to add the support of dynamic masks since this is essential when creating animations.
    I would really appreciate a comment about this, is it planned?
    Other than that, thanks for this awesome app!

    At this point the current HTML5 and CSS3 features we use for clip masking won't work with moving mask layer content. To move forward with supporting dynamic content in masks we are likely to have to do significant work and likely to run into performance issues (especially on mobile devices).
    We realize that the current masking limitations are problematic and will continue to investigate the best way to move this technology forward.

  • Edge Animate Program missing scroll bars

    Hello!
    I've been having a issue with some Edge files for awhile now, and I havn't been able to fix it.
    We use Edge for animations in apps, so we use over a dozen indivusal files for the diffrent pages in the app.  The issue I'm having is that a few of these files, when I open up the Edge program, don't have scroll bars.  I can still move around dragging the mouse around, but some screens are full of objects so it's not always practical.  This makes it very awkward when I need to zoom in and have to deal with the aniamtion timeline.
    We started building many of these pages early last year, but I'm not sure what version of the beta we were using.   So each time a new verison came out, we updated those files to the new ones.  I always assumed that some early bug in the program, mixed in with the complexity of some of these files and constantly updating to new verisons, accidently broke something.
    Is there a way to get these scroll bars back?  I searched all over the options, but no luck,
    Thanks!

    Hi, LFrog-
    If you could send us the files, we can take a look at why you're not getting scrollbars.  If you want to send them as a link in a personal message, that would be fine as well.
    Thanks,
    -Elaine

  • About animex download to my phone neo L.

    why all video always stop in the middle?
    animex app..all movie?
    what is thn sollution to played this and i enjoy watching?
    thanks.

    HI rizzapadilla20,
    Thank you for contacting Mozilla Support. The app you are mentioning, is an Anime streaming app? a persona? that can be used on your device, but does not use Firefox for andriod.
    If that app or site is using Flash, I am really sorry, but there is a chance that the device did not meet a quality standard [[http://mzl.la/130jpnd]]
    However if you are looking for a cool add on in Firefox for Android that help search for cool anime check out Anime Search [https://addons.mozilla.org/en-US/firefox/addon/anime-search/ Anime Search]
    Please let us know if you have any other questions. We are happy to help.
    Regards,
    guigs

Maybe you are looking for

  • Using databases and container events?

    I'm having trouble finding documents show how one should use databases and listen for container events? I'm using Berkley Java DB. I'll need all my remote object to have access to the database. How do I pass that in? Custom adapters? Also, when Tomca

  • How can I get function keys (volume, brightness) to work in Bootcamp?

    I have a MacbookPro purchased in June of 2011 and installed Bootcamp to play certain games that only work on Windows. The only problem is that my volume and brightness keys don't function, which is incredibly hard to work with in a full screen video

  • HT3964 socket is not connected

    My Macbook pro would not boot, the Launch Msg says (Socket is not Connected). Pls anyone, do help out with steps to get it back on track. thanks...

  • Get the contents of the project documents

    Hi Experts, I have a requirement where an external system wants to make use of the contents of my operation project documents' content. Could you suggest any BAPI for the same ? Regards, Vijayalakshmi

  • Suddenly HP v195b 8gig does't get detected on different computers.

    Hi, Today my HP v195b usb stick didn't get detected anymore. I tried several things suggested here on the supportdesk, but nothing seems to work. I can see that something IS detected, it shows Removalble Drive (F: )  if I look on This PC. But when I