@blockv/3d-face
Version:
This vAtom face can plug into the SDKs to render 3D content in either binary glTF or V3D format.
75 lines (48 loc) • 1.82 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:
``` kotlin
dependencies {
implementation 'io.blockv.faces:face3d:1.0.5'
}
```
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 '@blockv/sdk/face'
import Face3D from '@blockv/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.