Skip to content

Swift framework for loading various 3d models in SceneKit

License

Notifications You must be signed in to change notification settings

hakankarakaya/AssetImportKit

 
 

Repository files navigation

License

AssetImportKit is a cross platform library (macOS, iOS) that coverts the files supported by Assimp to SceneKit scenes.

Features

AssetImportKit allows you to import Assimp supported file formats directly in SceneKit at runtime. The library supports:

  • Geometry
  • Materials (with color, embedded textures and external textures)
  • Cameras and
  • Skeletal animations.
  • Serialization to .scn format

Supported file formats

AssetImportKit supports the following file formats: 3DS, 3MF, COLLADA, FBX, GLTF, OBJ STL. If you want to add support of all Assimp importers, please look at my assimp-for-ios build script.

Demos

This repository includes 2 small demos for macOS and iOS.

Requirements

  • Xcode 10 or later
  • Swift 4.2
  • iOS 11.3 or later
  • macOS 10.13 or later

Installation via CocoaPods

pod 'AssetImportKit'

Manual Installation

In order to install AssetImportKit manually please read the How-to-Install guide.

Usage

do {
  let assimpScene = try SCNScene.assimpScene(filePath: filePath,
                                              postProcessSteps: [.defaultQuality])
  let modelScene = assimpScene.modelScene
  modelScene.rootNode.childNodes.forEach {
    sceneView.scene?.rootNode.addChildNode($0)
  }
} catch {
  print(error.localizedDescription)
}

Note for iOS builds: if you are developing an iOS application, set the Enable Bitcode under Build Settings->Build Options of your target to NO.

License

AssetImportKit's license is based on 3-clause BSD-License.

About

Swift framework for loading various 3d models in SceneKit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 45.2%
  • Swift 35.5%
  • C 14.2%
  • Objective-C 5.1%