Poly alternatives and similar libraries
Based on the "ARKit" category.
Alternatively, view Poly alternatives based on common mentions on social networks and blogs.
-
ARKitEnvironmentMapper
A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. -
FaceTrigger
Easily use ARKit to detect facial gestures. FaceTrigger is a simple to use class that hides the details of using ARKit's ARSCNView to recognize facial gestures via ARFaceAnchor.BlendShapeLocations
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of Poly or a related project?
README
Poly
Poly
is an unofficial Google Poly SDK, written in Swift.
This library makes it easy to integrate with Google Poly while providing a few additional client-side features.
Features | |
---|---|
🔍 | 3D model search |
⬇ | 3D model download management |
📦 | advanced 3D data caching |
📡 | Poly reachability support |
🐦 | Swift 5.0 |
Need a different version of Swift?
5.0
- Target your Podfile to the latest release or master (will push when Cache updates)4.2
- Target your Podfile to theswift4.2
branch
Important
Before you begin, ensure that you have read Googleβs Poly documentation, understand best practices for attribution, and have generated your API key.
Quick Start
The sample project provides several examples for integration.
You can install the dependencies with the command pod install
or by running the makefile commands make setup && make pods
.
# CocoaPods
pod "Poly", "~> 0.4.0"
# Carthage
github "piemonte/Poly" ~> 0.4.0
# Swift PM
let package = Package(
dependencies: [
.Package(url: "https://github.com/piemonte/Poly", majorVersion: 0)
]
)
Alternatively, drop the source files into your Xcode project.
Examples
Import the library.
import Poly
Setup your API key.
Poly.shared.apiKey = "REPLACE_WITH_API_KEY"
List assets using keywords.
Poly.shared.list(assetsWithKeywords: ["fox"]) { (assets, totalCount, nextPage, error) in
// assets array provides objects with information such as URLs for thumbnail images
}
// you may also query for the data directly for your own model creation
Poly.shared.list(assetsWithKeywords: ["fox", "cat"]) { (data, error) in
}
Get independent asset information.
Poly.shared.get(assetWithIdentifier: "10u8FYPC5Br") { (asset, count, page, error) in
// asset object provides information such as URLs for thumbnail images
}
// you may also query for the data directly for your own model creation
Poly.shared.get(assetWithIdentifier: "10u8FYPC5Br") { (data, error) in
}
Download a 3D asset and its resources for rendering, either using the asset identifier or the asset model object itself.
Poly.shared.download(assetWithIdentifier: "10u8FYPC5Br", progressHandler: { (progress) in
}) { (rootFileUrl, resourceFileUrls, error) in
if let rootFileUrl = rootFileUrl {
let node = SCNNode.createNode(withLocalUrl: rootFileUrl)
self._arView?.scene.rootNode.addChildNode(node)
}
}
The API also provides private object loading but additional endpoints may need to be added. Auth support is setup and available via the authToken
property.
Documentation
You can find the docs here. Documentation is generated with jazzy and hosted on GitHub-Pages.
Resources
- Poly iOS Quickstart
- Poly API Reference
- Poly Google Developer Website
- Poly iOS Sample Project
- Swift Evolution
- NextLevel Media Capture Library
License
Poly
is available under the MIT license, see the LICENSE file for more information.
*Note that all licence references and agreements mentioned in the Poly README section above
are relevant to that project's source code only.