DAE (Digital Asset Exchange, aka Collada) is a vendor-neutral format for 3D assets. It supports a wide range of features that exist in multiple 3D authoring and presentation tools, but not every possible feature in SceneKit. Historically, it was the only asset format for early versions of SceneKit.
SCN format is a serialization of the SceneKit object graph. (There are convenience methods for reading/writing it on SCNScene
, but really it's the same thing you get by passing an SCNScene
to NSKeyedArchiver
/NSKeyedUnarchiver
.) Thus, it by definition supports all features of SceneKit, including physics, constraints, actions, physically based cameras, and shader modifiers.
If you're using DAE assets, deploying to iOS (or tvOS or watchOS), and not seeing any difference vs using SCN assets, there are two possible reasons:
- Your assets use only those SceneKit features that are available in DAE format.
When deploying to iOS/tvOS/watchOS, Xcode (via scntool
) automatically converts all 3D asset resources to SCN format. (And applies other transformations, like interleaving geometry buffers, for optimal rendering performance on iOS/tvOS/watchOS devices.) The filename in the built app's Resources directory still has a .dae
extension, but the file contents are the same as SCN format.
(SceneKit running in iOS/tvOS/watchOS actually can't read DAE, so it relies on this preprocessing by Xcode.)