@vatom/3d-face
Version:
This vAtom face can plug into the SDKs to render 3D content in either binary glTF or V3D format.
87 lines (59 loc) • 1.9 kB
Markdown
# 3D Face
This is a face for the Android, iOS and Web BLOCKv SDKs, which allows rendering and interacting with 3D vatoms.
## Usage in the Android SDK
First add it to your gradle dependencies:
```gradle
// In root build.gradle
allprojects {
...
repositories {
...
maven { url "https://jitpack.io" }
}
}
```
``` gradle
// In app/build.gradle
dependencies {
implementation 'com.github.VatomInc:3d-face:+'
}
```
Then register it on app startup:
``` kotlin
// Kotlin
import io.blockv.face3d.Face3D
blockv.faceManager.registerFace(Face3D.factory)
```
``` java
// Java
import io.blockv.face3d.Face3D;
blockv.getFaceManager().registerFace(Face3D.Companion.getFactory());
```
## Usage in the iOS SDK
First add it to your podfile:
``` ruby
pod 'VatomFace3D'
```
Then register it on app startup:
``` swift
import BLOCKv
import VatomFace3D
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
...
FaceViewRoster.shared.register(Face3D.self)
}
```
## Usage in the Web SDK
To use in the Web SDK, simply import and register when your app starts up:
``` javascript
import { VatomView } from '@vatom/sdk/face'
import Face3D from '@vatom/3d-face'
VatomView.registerFace(Face3D)
```
## Specification
- Display URL: `native://generic-3d`
## Building
To build, run `npm run build`. This results in running these scripts in this order:
- `build-lib` will compile the face code into `dist/Face3D.min.js`
- `copy-webapp` will copy all the files in `dist/` and put them into `webapp/`. This is the folder containing the wrapper web app the native apps use. The iOS library uses these files directly.
- `copy-android` copies all files in `webapp/` into the Android project's `assets/` folder. This is because I couldn't get the Android gradle build process to read these files directly.