- Notifications
You must be signed in to change notification settings - Fork54
A library (macOS, iOS) that converts the files supported by Assimp to Scene Kit scenes.
License
dmsurti/AssimpKit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
AssimpKit is a cross platform library (macOS, iOS) that coverts the files supported byAssimp toScene Kit scenes.
AssimpKit currently supports29 file formats that allows you to use thesefiles directly in SceneKit without having to convert these to any of the filesthat SceneKit or Model IO supports thereby saving an extra step in your assetpipeline.
AssimpKit supports:
- Geometry
- Materials (with color, embedded textures and external textures)
- Cameras and
- Skeletal animations.
- Serialization to
.scn
format
For lights support, seeIssue 46.
Currently AssimpKit supports the following file formats:
3d, 3ds, ac, b3d, bvh, cob, dae, dxf, ifc, irr, md2, md5mesh, md5anim,m3sd, nff, obj, off, mesh.xml, ply, q3o, q3s, raw, smd, stl, wrl, xgl, zgl, fbx,md3
- Xcode 8.0 or later
- ObjC 2.0
- iOS 10.0 or later
- macOS 10.11 or later
- 7z
- PreRequiste: Install 7z
The build process depends on 7z to extract static library archives. Please ensure 7z is installed.
You can check if 7z is installed with:
type 7z
command on the Terminal.
To install, you can use brew as such:
brew update && brew install p7zip
- Using Carthage
Carthage is a lightweight dependencymanager for Swift and Objective-C. It leverages CocoaTouch modules and is lessinvasive than CocoaPods.
To install with Carthage, follow the instructions onCarthage.
github "dmsurti/AssimpKit"
Aftercarthage update
, add the appropriate platform framework (iOS, macOS) toyour project. The frameworks are placed iniOS
andMac
subdirectories undertheCarthage/Build
directory of your project.
- Important Build Setting for
iOS
applications only
If you are developing aniOS
application, set theEnable Bitcode
underBuild Settings->Build Options
of your target toNO
.
Table below lists the important classes in AssimpKit.
Class/Category | Description |
---|---|
SCNScene(AssimpImport) | The container for all SceneKit content, loaded with assimp. |
SCNNode(AssimpImport) | The node category to add animation to a node. |
You can use the AssimpKit category defined on SCNScene to load scenes.
For more details on how to use AssimpKit to load scenes, including those withskeletal animations, please refer to theGettingStarted orAPI Docs
AssimpKit's license is based on the modified, 3-clause BSD-License.
An informal summary is: do whatever you want, but include Assimp Kit's license text with your product - and don't sue me if the code doesn't work. For the legal details, see the LICENSE file.
AssimpKit uses many model files placed underassets
directory for testing purpose.
These model files are classified by owner:
assets/apple
--> asset files reused from Apple sample code projects,Bananas andSceneKitAnimations.assets/of
--> TheastroBoy_walk.dae
file reused from the openframeworks example proejct,examples/ios/assimpExample.assets/assimp
--> The model files reused from theassimpl/test/models-*.assets/issues
--> asset files submitted by users for bugs/feature requests.
Please note that the copyright of these model files belongs to the respective owners andAssimpKit utilizes these only for testing purpose.
Please refer tolicenses directory for more information.
So, if you re-package AssimpKit for use in a 'clean' OSS package, consider removing the model files which are proprietary.
To contribute to AssimpKit:
- Please open an issue describing the bug, enhancement or any other improvement.
- If valid, please supply the sample model file that can help demonstrate theissue.
- If the design involves a larger refactor, please open a issue to dicuss the refactor.
- After discussion on the issue, you can submit a Pull Request by forking thisproject.
- Please accompany your Pull Request with updates to test code and example apps,the latter may not be required for every change.
- Please ensure you format the code usingclang-format, there exists a.clang-format for this project.
About
A library (macOS, iOS) that converts the files supported by Assimp to Scene Kit scenes.