VatomInc / 3DFace

This vAtom face can plug into the SDKs to render 3D content in either binary glTF or V3D format.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

//  In root build.gradle
allprojects {
  ...
  repositories {
    ...
    maven { url "https://jitpack.io" }
  }
}
//  In app/build.gradle
dependencies {
    implementation 'com.github.VatomInc:3d-face:+'
}

Then register it on app startup:

// Kotlin
import io.blockv.face3d.Face3D

blockv.faceManager.registerFace(Face3D.factory)
// Java
import io.blockv.face3d.Face3D;

blockv.getFaceManager().registerFace(Face3D.Companion.getFactory());

Usage in the iOS SDK

First add it to your podfile:

pod 'VatomFace3D'

Then register it on app startup:

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:

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.

About

This vAtom face can plug into the SDKs to render 3D content in either binary glTF or V3D format.

License:Other


Languages

Language:JavaScript 86.4%Language:Swift 8.9%Language:Kotlin 3.8%Language:HTML 0.5%Language:Ruby 0.4%