This is the coming next replacement of Sceneform Maintained only accessible to contributors and sponsors for now here: https://github.com/ThomasGorisse/sceneview-android
- Use SceneView for 3D only or ArSceneView for ARCore + 3D
- Everything is accessible at the SceneView/ArSceneview level = No more
ArFragment, no moresceneFragment.sceneview.scene,sceneFragment.session.config,... - Just add the
<ArSceneView>to your layout or create anArSceneview(context). Compose coming next - Camera Permission and ARCore install/update are handled automaticly by the view
- Latest ARCore features (the coming next will be integrated quicker thanks to Kotlin). DepthHit and InstantPlacement very soon
- Lifecycle aware components = Increased memory cleanup and performances
- LifecycleScope for ressource loading in coroutines = Started on view created and cancelled on destroy.
- Mutliple instances is now possible
From GitHub: Settings / Developer settings / Personal access tokens / Generate new token

-
Note =
GitHub Packages - Read -
Expiration =
no expiration(It's only for reading package and you can delete at anytime) -
Select scope =
read:packages
- Generate token
- Copy the access token
- build.gradle
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"
}
}
}
}- app/build.gradle
dependencies {
implementation "com.gorisse.thomas:sceneview:1.0.0"
}Sorry guys you will have a little work to do if coming from the ArFragment way.
- Just
Alt+Enter/Importto point to the single Deprecated.kt file Alt+Enterto apply suggestion on deprecated calls.
ArSceneViewandSceneVieware now your best friends for ARCore+Filament or Filament only- Access directly from the view everything you previously accessed from
ArFragement,Scene,SessionandSession.Config.
Set the sceneView.onException lambda property for overriding default permission refused, ARCore unavailable or any SceneView exceptions.
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:
- "Searching Plane", "Not enougth light",..."Tap on plane to add object."
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.
-
tapArPlaneInfoNodeis a centered DepthNode. Which means it follows the orientation of the center ARHitTest and guide user for taping on a plane. -
Augmented Image tracking: Displays a target corners drawable when no augmented image is currently tracked.
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

