Comments (11)
I was facing the same issue since there is no example code for this library yet. But here are some steps that might help you to start:
Get the ArScenView
like the other examples show: ArScenView sceneView = view.findViewById<ArSceneView?>(R.id.sceneView);
Then configure the image database in the configureSession
-method of the sceneView
like this:
// in your onViewCreated, after you setup the ArSceneView
sceneView.configureSession(this::initialiseSceneViewSession)
// ---
private fun initialiseSceneViewSession(session: ArSession, config: Config) {
// other init stuff ....
// init image database
val imageDatabase = this.requireActivity().assets.open(TRACKED_IMAGE_DATABASE_PATH).use {
AugmentedImageDatabase.deserialize(session, it)
}
config.augmentedImageDatabase = imageDatabase
session.configure(config)
}
Now you only need to connect to the onAugmentedImageUpdate
callback of the scenView
in order to be notified if an image is tracked.
// in your onViewCreated, after you configureSession
sceneView.onAugmentedImageUpdate = this::checkAugmentedImageUpdate
// ---
private fun checkAugmentedImageUpdate(augmentedImage: AugmentedImage) {
Log.i(
TAG, "Augmented image update ${augmentedImage.name} with " +
"tracking state ${augmentedImage.trackingState}"
)
}
The last important step is to anchor your model node at the center of that image. Therefore you can simply create an anchor from the center pose of the augmented image in the callback:
// in checkAugmentedImageUpdate, modelNode is a simple ArModelNode with an loaded 3d model
val anchorImage = augmentedImage.createAnchor(augmentedImage.centerPose)
modelNode.anchor = anchorImage
sceneView.addChild(modelNode)
Hope this helps you to get started ✌️
@ThomasGorisse If something here is totally wrong please correct me :)
from sceneview-android.
Thanks, @LukasPoque, your guide is understandable. 👍
from sceneview-android.
Override it in the res folder
from sceneview-android.
Hi @Cardo, this code works for me:
sceneView.onAugmentedImageUpdate = mutableListOf(
{ augmentedImage ->
if (augmentedImage.trackingState == TrackingState.TRACKING) {
val anchorImage = augmentedImage.createAnchor(augmentedImage.centerPose)
modelNode!!.anchor = anchorImage
binding.sceneView.addChild(modelNode!!)
}
}
)
from sceneview-android.
Thanks a lot @LukasPoque .. I'll try it for sure.
from sceneview-android.
How do I modify the "scenview_fit_to_scan" image?
from sceneview-android.
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. Thank you for your contributions.
from sceneview-android.
Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.
from sceneview-android.
Hi @LukasPoque, the checkAugmentedImageUpdate function on the example gives me an error of wrong type (as in type mismatch with MutableList<(AugmentedImage -> Unit)> required). Any clue on how this checkAugmentedImageUpdate function should be formed? Thanks in advance.
from sceneview-android.
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. Thank you for your contributions.
from sceneview-android.
Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.
from sceneview-android.
Related Issues (20)
- ARScene crashes on compose when disposing element HOT 1
- Projection matrix is not updated in augmented face mode HOT 9
- Exception: Calling method on destroyed Scene when Scene is shown and hidden in Compose HOT 1
- ViewNode for 2.1.0 HOT 3
- Crash on destroying the ArSceneView HOT 7
- Crash on closing SceneView with child node HOT 1
- ar-cloud-anchor sample + azure
- NullPointerException on screen rotation HOT 1
- Correct way to set background color/ using skybox causes black flash momentarily
- Would it be possible to add a sample for the new ViewNode in Compose (in v2.1.0)? HOT 1
- Animate Node transform/How to create Node Animations
- Can't add session features during ARCore initialization in ARSceneView HOT 2
- Scene does not work inside LazyColumn
- Stop the animation at last frame of animation playback HOT 1
- Human Skin Scan
- Not able to update GLB model consistently in existing Compose ARSceneView
- Crash on disposing AR Scene in 2.1.0 HOT 1
- Node shaking issue
- Models not displaying right on device but they look ok on emulator with isOpaque = false
- Augmented faces HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sceneview-android.