Chapter 8. SceneKit

The SceneKit framework is a collection of classes that let you compose and present a 3D scene in your app. It works on both iOS and OS X, and is an incredibly simple way of drawing 3D graphics.

SceneKit is great for both games and apps that need to show some kind of 3D content. It also interacts seamlessly with Core Animation and SpriteKit, which means that you can use SceneKit in a variety of different contexts.

For example:

  • You can make your entire app centered around SceneKit, and have all of your user interactions take place using a 3D view. Most games are likely to do this, to some extent.
  • You can embed a 3D view as part of a larger document. The 3D graphs in Numbers, Apple’s spreadsheet app, are an example of this kind of usage.
  • You can render a SpriteKit scene on top of 3D graphics in a SceneKit scene, as an overlay.
  • You can render SpriteKit scenes as textures inside a SceneKit scene. This means you can do things like render a 2D GUI in SpriteKit, and display them on a computer monitor in a 3D game.

SceneKit is also capable of loading 3D content from COLLADA, an industry-standard format for exchanging 3D graphics information. If you have any kind of 3D modeling program, it probably supports exporting 3D content in the COLLADA format, which you can import into your SceneKit scenes. If you don’t have any 3D models to use, you can also use SceneKit to generate basic 3D objects, like cubes, spheres, and capsules.

SceneKit Structure

SceneKit presents everything ...

Get Swift Development with Cocoa now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.