All Projects → dmsurti → Assimpkit

dmsurti / Assimpkit

Licence: bsd-3-clause
A library (macOS, iOS) that converts the files supported by Assimp to Scene Kit scenes.

Labels

Projects that are alternatives of or similar to Assimpkit

iOS ARkit2 Multiusers
An example implemented multiplayer experience in ARKit2
Stars: ✭ 19 (-95.26%)
Mutual labels:  scenekit
SCNNodeVisualDebugger
A simple visual debugger for SceneKit
Stars: ✭ 18 (-95.51%)
Mutual labels:  scenekit
Arkit
ARKit Base Project. Place virtual objects based on WWDC example project
Stars: ✭ 297 (-25.94%)
Mutual labels:  scenekit
ARKitPlusVR
Make VR with SceneKit & ARKit.
Stars: ✭ 83 (-79.3%)
Mutual labels:  scenekit
SCNHighlight
Scale-invariant highlight effect for SCNNodes based on SCNTechnique
Stars: ✭ 20 (-95.01%)
Mutual labels:  scenekit
Arbottlejump
An ARKit version of WeChat Bottle Jump game. ARKit 版微信跳一跳游戏
Stars: ✭ 259 (-35.41%)
Mutual labels:  scenekit
ARKit-Sample-ObjC
ARKit sample application is written in Objective C with features of Add, Remove, Scale, Move, Snapshot for single and multiple objects with plane/surface detection, reset session and AR support checking.
Stars: ✭ 72 (-82.04%)
Mutual labels:  scenekit
Arkit Tictactoe
Tic-Tac-Toe implemented using ARKit+Scenekit
Stars: ✭ 382 (-4.74%)
Mutual labels:  scenekit
ARVoxelKit
Voxel graphics framework using ARKit + SceneKit
Stars: ✭ 74 (-81.55%)
Mutual labels:  scenekit
Metalscope
Metal-backed 360° panorama view for iOS
Stars: ✭ 293 (-26.93%)
Mutual labels:  scenekit
VRMKit
VRM loader and VRM renderer (3D model / gltf)
Stars: ✭ 85 (-78.8%)
Mutual labels:  scenekit
swift-algorithms-data-structs
📒 Algorithms and Data Structures in Swift. The used approach attempts to fully utilize the Swift Standard Library and Protocol-Oriented paradigm.
Stars: ✭ 42 (-89.53%)
Mutual labels:  scenekit
Virocore
ViroCore cross-platform AR/VR renderer
Stars: ✭ 270 (-32.67%)
Mutual labels:  scenekit
hms-scene-demo
HMS Scene kit demo provides an example of integrating HUAWEI Scene Kit with an app. A 3D graphics rendering engine performs more with less. User-friendly rendering APIs for games, AR & VR apps, and other apps bring your users a stunning visual experience.
Stars: ✭ 18 (-95.51%)
Mutual labels:  scenekit
Arkit Scnpath
Create paths for your Augmented Reality environments using just points to represent the centre of the path.
Stars: ✭ 312 (-22.19%)
Mutual labels:  scenekit
Gradient-Meshes-with-SceneKit
Building Gradient Meshes with SceneKit.
Stars: ✭ 40 (-90.02%)
Mutual labels:  scenekit
JSceneKit
Port of SceneKit framework to JavaScript
Stars: ✭ 69 (-82.79%)
Mutual labels:  scenekit
Arkit Line Drawing
Changed the default ARKit project to draw a line where the camera is positioned
Stars: ✭ 390 (-2.74%)
Mutual labels:  scenekit
Arkit Occlusion
A demonstration of vertical planes "tracking" and occlusions with ARKit+Scenekit
Stars: ✭ 341 (-14.96%)
Mutual labels:  scenekit
Argithubcommits
Show your GitHub commit records in 3D with ARKit and SceneKit. 用 ARKit 展示你的 GitHub 提交图
Stars: ✭ 280 (-30.17%)
Mutual labels:  scenekit

AssimpKit

Build Status Documentation Status codecov Carthage compatible License

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

Why AssimpKit?

AssimpKit currently supports 29 file formats that allows you to use these files directly in SceneKit without having to convert these to any of the files that SceneKit or Model IO supports thereby saving an extra step in your asset pipeline.

Features

AssimpKit supports:

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

For lights support, see Issue 46.

File formats supported by AssimpKit

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

Requirements

  • Xcode 8.0 or later
  • ObjC 2.0
  • iOS 10.0 or later
  • macOS 10.11 or later
  • 7z

Installation with Carthage (iOS 10.0+, macOS 10.11+)


  1. 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

  1. Using Carthage

Carthage is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods.

To install with Carthage, follow the instructions on Carthage.

Your application Cartfile should have the following entry for AssimpKit:

github "dmsurti/AssimpKit"

After carthage update, add the appropriate platform framework (iOS, macOS) to your project. The frameworks are placed in iOS and Mac subdirectories under the Carthage/Build directory of your project.


  1. Important Build Setting for iOS applications only

If you are developing an iOS application, set the Enable Bitcode under Build Settings->Build Options of your target to NO.

Getting Started with AssimpKit

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 with skeletal animations, please refer to the Getting Started or API Docs

Documentation

AssimpKit License

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.

3D Model Licenses

AssimpKit uses many model files placed under assets directory for testing purpose.

These model files are classified by owner:

  • assets/apple --> asset files reused from Apple sample code projects, Bananas and SceneKitAnimations.
  • assets/of --> The astroBoy_walk.dae file reused from the openframeworks example proejct, examples/ios/assimpExample.
  • assets/assimp --> The model files reused from the assimpl/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 and AssimpKit utilizes these only for testing purpose.

Please refer to licenses 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.

Author

Deepak Surti

Contributing Guide

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 the issue.
  • 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 this project.
  • 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 using clang-format, there exists a .clang-format for this project.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].