Embedding 3D Models in iOS Apps

For apps that need to run in iOS 7 or earlier, the only way to include Kaon 3D content in another app is to link to a separate Kaon app to show the 3D models. Similar to launching Maps from another application, this experience can be fairly seamless. Follow this link for details of this method .

However, starting with iOS 8, applications can now embed live 3D models directly. There are some limitations:
  • iOS 8 is required. This technique will not work in earlier versions of iOS.
  • A live internet connection is required. This technique cannot be used for offline applications.
  • Load time is longer using this method than it is with a native application.
  • Appearance is degraded. In particular the 3D images will look grainier embedded this way because iOS currently does not support anti-aliasing of embedded 3D models.
  • 3D models use a considerable amount of RAM, so apps that already fill memory may encounter crashes after adding 3D models.
If any of these limitations are a deal-breaker, then the best answer is to use application linking, as described in the the article mentioned in the first paragraph.

But if these work for your app, the process of embedding is quite simple. Follow the instructions in the PDF attached to this article for embedding on a web site. Except instead of putting the IFRAME into a web site, you will put the IFRAME into a HTML page that you show in a UIWebView or WKWebVIew control within your application.

That's all there is to it. The embedded IFRAME will get the latest version of the 3D model, and use WebGL technology to display it interactively.
Joshua Smith,
Sep 26, 2014, 12:24 PM