Sceneform Maintained SDK for Android

SceneView is a 3D/AR Android View with ARCore and Google Filament integrated

SceneView is a 3D/AR Android View with ARCore and Google Filament integrated

This is the coming next replacement of Sceneform Maintained only accessible to contributors and sponsors for now

Give it a try and support us for $5

Features

Dependency

Create an access token for downloading the dependency

From GitHub: Settings / Developer settings / Personal access tokens / Generate new token image

image

image

Gradle dependency

allprojects {
    repositories {
        ...
        maven {
            name = "SceneView"
            url = uri("https://maven.pkg.github.com/thomasgorisse/sceneview")
            credentials {
                username = "YOUR_GITHUB_USERNAME_HERE"
                password = "PASTE_THE_GITHUB_ACCESS_TOKEN_HERE"
            }
        }
    }
}
dependencies {
     implementation "com.gorisse.thomas:sceneview:1.0.0"
}

Migration

Sorry guys you will have a little work to do if coming from the ArFragment way.

BUT#01 - The Deprecated.kt is there to help you migrating

BUT#02 - You will gain a lot of code cleaning/removing on your app sources:

Permissions and ARCore install/update are handled automatically

Set the sceneView.onException lambda property for overriding default permission refused, ARCore unavailable or any SceneView exceptions.

Instructions controller is replaced by sceneView.instructions

Contains a main infoNode: Node? which can be one of searchPlaneInfoNode, tapArPlaneInfoNode and augmentedImageInfoNode or your custom one.

By default, thoses nodes are made of ViewRenderable with a TextView or ImageView that displays ARCore infos:

Personal note for later: when access to the flash light is finally available with an ARCore shared CameraManager, it will be great to add an enable flash button in here when ArCore returns to less light.

NOTE#01 - Those states can be overrided at the res level (strings.xml, drawable,...)

NOTE#02 - You can use your own node and possibly define an animated model renderable for it