For proficient Java developers keen on 3D AR applications, Sceneform shines with dynamic 3D models and Face Mesh capabilities. However, given it’s no longer actively maintained by Google, consider ARCore if you favor a mobile AR experience extended to Android and iOS, enriched with cutting-edge APIs like Streetscape Geometry and Geospatial Depth. ARCore wins for broad compatibility and innovative functionality.
Key Differences Between ARCore and Sceneform
- Platform Support: ARCore supports Android and iOS, while Sceneform is Android-focused.
- Maintenance: Sceneform isn’t actively maintained by Google unlike ARCore.
- Capabilities: ARCore shines with motion tracking, environmental understanding, and advanced spatial APIs, whereas Sceneform excels in 3D model creation and management.
- Application: ARCore is designed for versatile AR experiences, Sceneform is geared towards 3D AR applications.
- Collaborations: ARCore has collaborations with several manufacturers, Sceneform operates solo.
Comparison | ARCore | Sceneform |
---|---|---|
Developed By | ||
Device Support and Compatibility | Android 7.0 (Nougat) and later, select iOS devices | Device compatibility issues reported |
APIs Utilized | Motion tracking, environmental understanding, light estimation | ARCore functionality for image tracking and camera management |
Specialized APIs | Streetscape Geometry API, Geospatial Depth API, Scene Semantics API | None |
AR Experience Enhancement | Improves existing apps, builds new AR experiences | Introduces AR features such as object scaling, moving 3D models, and object rotation |
Depth Measurement | Up to 65m with Geospatial Depth API | None |
3D Model Creation | On Mega Golf demo release | Dynamically during runtime |
What Is ARCore and Who’s It For?
ARCore is a development platform pioneered by Google, purpose-built for the creation of Augmented Reality (AR) experiences. With its key capabilities being motion tracking and environmental understanding, ARCore harnesses the prowess of various APIs to enable the-device-sensors to comprehend and interact with the real-world scenario. Aimed at Android phones running Android 7.0 (Nougat) and later, ARCore’s magic is designed for developers seeking to build new AR experiences or enhance existing apps.
Pros of ARCore
- Employs technologies developed over three years for Tango.
- Facilitates shared AR experiences across Android and iOS through various APIs.
- Continuously updated capabilities like Geospatial API leveraging Google Maps.
Cons of ARCore
- Initial reach limited to Pixel and Samsung’s S8 devices.
- Some users report compatibility issues with Google Maps live view.
- Certain reports suggest unauthorized installation of Google Apps.
What Is Sceneform and Who’s It For?
Sceneform is Google’s 3D development framework perfected for mobile use, enabling Java developers to create enchanting AR applications. Benefitting from functionalities like camera tracking and video playback management, Sceneform eases the intricacies of AR sessions. Developed for developers who seek to infuse their apps with 3D experiences and engage the users with dynamic AR visuals, Sceneform comes with both AR-required and AR-optional capabilities.
Pros of Sceneform
- Enhances AR applications by adding lights, altering position and color, and rendering 3D models.
- Enables object scaling, 3D model manipulation, and object rotation in apps.
- Includes Augmented Faces feature for facial tracking and mesh generation.
Cons of Sceneform
- Compatibility issues with certain devices.
- Limited in vertical surface detection and multi-camera usage.
- No longer actively upheld by Google, affecting future updates and support.
Code Examples for ARCore & Sceneform
ARCore Plane Discovery
This ARCore example focuses on detecting planes in your environment. Make sure you have Google’s ARCore SDK installed and that your Android device has ARCore support.
// ARCore Dependency
implementation 'com.google.ar:core:1.11.0'
// Create a session for ARCore
Session session = new Session(this);
// Enable plane detection
Config config = session.getConfig();
config.updateMode = Config.UpdateMode.LATEST_CAMERA_IMAGE;
config.planeFindingMode = Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL;
session.configure(config);
// Setup renderer
Frame frame = session.update();
for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
if (plane.getTrackingState() == TrackingState.TRACKING) {
Log.i(TAG, "Plane discovered");
}
}
Sceneform Simple 3D Transform
In this Sceneform example, it is demonstrated how to create a simple 3D transformation. Sceneform SDK 1.15.0 or later is required.
// Sceneform Dependency
implementation 'com.google.ar.sceneform:core:1.15.0'
// Load a Sceneform model
ModelRenderable.builder()
.setSource(this, Uri.parse("model.sfb"))
.build()
.thenAccept(renderable -> model = renderable)
.exceptionally(
throwable -> {
Log.e(TAG, "Unable to load Renderable.", throwable);
return null;
});
// Create the Node and set its TransformableNode
TransformableNode transformableNode = new TransformableNode(arFragment.getTransformationSystem());
transformableNode.setParent(anchorNode);
transformableNode.setRenderable(model);
// Rotate the object
Quaternion rotation = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 180f);
transformableNode.setLocalRotation(rotation);
ARCore or Sceneform: The Final Verdict
The battle between ARCore and Sceneform boils down to your unique needs and the future-proofing of your AR projects. It’s time to make an opinionated, well-informed choice.
For Emerging AR/VR Creators & Tech Enthusiasts
If you’re an emerging AR/VR creator or a tech enthusiast, starting on an extensive journey of learning and experimentation, ARCore would be the logical choice. ARCore’s motion tracking, environmental understanding, and light estimation capabilities provide a comprehensive developer toolkit. Furthermore, ARCore’s broad compatibility across Android and iOS, and a wide array of Android phones, offers versatility and scale.
For Veteran Java Developers
For experienced Java developers, who have mastered traditional development scopes and now want to venture into AR applications, Sceneform can deliver. Sceneform seamlessly highlights 3D model creation, handles AR video playback, and even offers AR as an optional feature. However, the fact remains that Sceneform is no longer actively maintained by Google, which could impact future updates or support.
For Startup Tech Companies
Startup tech companies targeting massive user accessibility would significantly benefit from taking a ARCore-centric approach. With its reach to 1.4 billion Android devices and some iOS devices, collaborations with big-name manufacturers and automatic updates via Google Play Services, ARCore spells out omnipresent and efficient application deployment.
In a nutshell, ARCore’s wide-ranging capabilities, robust AR infrastructure, and ecosystem scalability confidently make it the optimal choice for most audiences compared to Sceneform.