GithubHelp home page GithubHelp logo

sceneview / sceneform-android Goto Github PK

View Code? Open in Web Editor NEW
603.0 23.0 141.0 280.45 MB

Sceneform Maintained is an ARCore Android SDK with Google Filament as 3D engine. This is the continuation of the archived Sceneform

Home Page: https://sceneview.github.io/sceneform-android/

License: Apache License 2.0

Java 94.82% Batchfile 0.02% Kotlin 5.16%
android arcore-android filament augmented-reality augmented-images ar 3d augmented-faces arcore sceneform

sceneform-android's People

Contributors

abramyan avatar catah97 avatar claywilkinson avatar fredsa avatar fvito avatar grassydragon avatar imbrig avatar josias-milkinteractive avatar mrunal-upadhyay avatar noelvictor1 avatar nvictornvictor avatar onuralpszr avatar realmaxbuster avatar rgregat avatar senthil5053 avatar thomasgorisse avatar tpsiaki avatar venthorus avatar vojtamaiwald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sceneform-android's Issues

Gls model is not visible on camera screen

I have tried to give like this as per your sample

pointy4Cursor.material.setFloat4("baseColorFactor", Color(1F,1F,1F,1F))

but its throwing the exception

Code snippet:

ModelRenderable.builder()
.setSource(context, Uri.parse("pointy4Cursor.gls"))
.build()
.setIsFilamentGltf(true)
.thenAccept { renderable ->
pointy4Cursor = renderable
pointy4Cursor.material.setFloat4("baseColorFactor", Color(1F,1F,1F,1F))
}
.exceptionally {
Log.e(TAG, "unable to load renderable pointy4Cursor")
val toast = Toast.makeText(context, "Unable to load renderable dkdkjd", Toast.LENGTH_LONG)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()
null
}

Also i tried to change the gls color with blender and used. But i couldn't
able to see the model in the camera screen. model is always invisible not sure what is happening please help

i called reclaimReleasedResources() method,but the memory is not release.help me !

i add a line code in SceneView.destory() as follows:

/**
   * Required to exit Sceneform.
   *
   * <p>Typically called from onDestroy().
   */
  public void destroy() {
    if (renderer != null) {
      //add this method to release memory.
      reclaimReleasedResources();
      renderer.dispose();
      renderer = null;
    }
  }

but i see memory in android studio:Profiler window not release.
Any suggestions for me?
thank for your time.

Rotating object in SceneView leaves a visual trail

I'm loading the model like this:

ModelRenderable.builder()
            .setSource(this, Uri.parse("GroundVehicle.glb"))
            .setIsFilamentGltf(true)
            .build()
            .thenAccept(
                Consumer { modelRenderable: ModelRenderable ->
                    //Add anything you want to do here....
                    Log.d("Sceneform","Model loaded")

                    createNode(modelRenderable)
                })
            .exceptionally { throwable: Throwable? ->
                //Add anything you want to do here e.g.:
                Log.d("Sceneform", "ModelRenderable.builder exception: " + throwable)
                null
            }

private fun createNode(modelRenderable: ModelRenderable) {
        val transformationSystem = TransformationSystem(resources.displayMetrics, object: SelectionVisualizer {
            override fun applySelectionVisual(node: BaseTransformableNode?) {}

            override fun removeSelectionVisual(node: BaseTransformableNode?) {}
        })

        val transformableNode = TransformableNode(transformationSystem).apply {
            rotationController.isEnabled = true
            scaleController.isEnabled = false
            translationController.isEnabled = false
            setParent(viewBinding.sceneView.scene)
            //localPosition = Vector3(0f, 0f, -1f)
            localScale = Vector3(0.7f, 0.7f, 0.7f)
            renderable = modelRenderable // Build using CompletableFuture
            select()
        }

        viewBinding.sceneView.scene.addChild(transformableNode)

        viewBinding.sceneView.scene.addOnPeekTouchListener { hitTestResult, motionEvent ->
            transformationSystem.onTouch(hitTestResult, motionEvent)
        }

        viewBinding.sceneView.scene.camera.localPosition = Vector3(0f, 1f, 5f)
    }

which leaves a visual trail after rotating:

image

Memory leak in graphics

I am running the gltf sample with a customized model. It seems that the graphics memory is not released after the MainActivity destroyed which can be seen from the profiler. This may lead to out of memory if I start and then destroy the activity several times.
As mentioned in the issue I opened in filament, I tried to fix this memory problem by adding Renderer.destroyAllResources() at the end of onDestroy() of BaseArFragment, which will lead to a crash in the function RenderableInstance.createFilamentAssetModelInstance when I start the activity again. Do you have any idea about solving the memory problem or why this crash happens after the filament engine destroyed?
image

Error making GL context

I'm testing but i have this error: Error making GL context. Appears in the emulator and the Android Phone

I cannot play animation by using below code .

While playing animation using animation track name . Getting this error . If i remove (AnimatableModel) , it showing error.

ObjectAnimator walkAnimator = ModelAnimator.ofAnimation((AnimatableModel) transformableNode, animation_type); walkAnimator.setStartDelay(milli); walkAnimator.setDuration(durTime); walkAnimator.start();

Caused by: java.lang.ClassCastException: com.google.ar.sceneform.Node cannot be cast to com.google.ar.sceneform.animation.AnimatableModel 2021-05-01 16:50:34.419 21486-21486/com.plugxr.cloudanchors W/System.err: at com.plugxr.cloudanchors.CreateAchor.ArActivity.placeResolveCloudAnchorModel(ArActivity.java:3775) 2021-05-01 16:50:34.419 21486-21486/com.plugxr.cloudanchors W/System.err: at com.plugxr.cloudanchors.CreateAchor.ArActivity.lambda$createResolveCloudAnchorModel$29$ArActivity(ArActivity.java:3516)

Only one texture applied on model that consists of many textures

Hello Thomas,
first of all I would like to thank you very much for keeping Sceneform updated and alive. You are doing a wonderful job!

I recently tried to update from version 1.18.6 to 1.18.9 but I faced one issue. My models which are made of many different textures are now displayed completely in one texture. You can see it in the attached pictures below. The only things I change are Sceneform versions in gradle.

Every model is created in Cinema4D and than exported to .glb file.
If I use for example this model:
https://github.com/google/model-viewer/raw/master/packages/shared-assets/models/Astronaut.glb
than it works as it should and the textures are shown correctly.

Are there any settings I missed?

You can get my models from here (Fox and Rabbit are shown in attachments):
https://github.com/VojtaMaiwald/SovinecAR/tree/master/app/src/main/assets

Thank you in advance!

For implementation("com.gorisse.thomas.sceneform:sceneform:1.18.6") in gradle it looks like this:
image
For implementation("com.gorisse.thomas.sceneform:sceneform:1.18.9") in gradle it looks like this:
image

For implementation("com.gorisse.thomas.sceneform:sceneform:1.18.6") in gradle it looks like this:
image
For implementation("com.gorisse.thomas.sceneform:sceneform:1.18.9") in gradle it looks like this:
image

Early tester for your new framework?

Hi Thomas,
This might be an odd place to ask this question, as you mentioned in this post(google/filament#3669 (comment)), that you are working on a RealityKit like framework based on Filament and ArCore. I was wondering if you need some tester for your new framework, we have some experienced arcore/sceneform programmers and huge amount of ready to use glb assets with various extensions encoded. We would very much like to help, cause we love your work on sceneform fork. Thanks!

What Smartphone models do you use?

This is not an issue-request to be fair, but I'm interested which Smartphones you use with Arcore/Sceneform. I did recently a few tests with my App and the new Performance Debug-Monitor introduced in ARCore 1.24.0. I checked the performance on a Pixel 4 and a Samsung Galaxy S20+ and I was a little bit disappointed about the results from the S20+. My high hope was that the ToF-Sensor of the S20+ would benefit my App, but the results proofed me wrong. The S20+ had around a 10% higher CPU consumption as my Pixel 4 and the display refresh rate is capped at 30, where the Pixel 4 can handle 60. Something which I also noticed is the higher CPU consumption for the Plane Detection on the S20+ (around 5-7%) compared to the Pixel 4. Also the battery temperature is horrible on the S20+ again compaired to the Pixel 4.

My current conclusion is, that the Pixel 4 is superior compared to the S20+ even with the additional ToF-Sensor. I'm really looking forward for the new Pixel 6.

So yeah what experiences do you made with which Smartphone Model?

P.S.: I noticed the same performance results on some arcore samples and codelabs. The interesting thing is that the new Raw-Depth-API Codelab is not working on the S20+.

Can only change to an animation with a higher index

I have implemented a .glb model that contains multiple animations and can display it in a scene.

I am able to set the animations with this code:

animator?.cancel
animator = ModelAnimator.ofAnimation(renderableInstance, animationIndex).apply {
    start()
}

animationIndex is the desired index of the animation I want to play.

I have noticed that this code only works if the new animationIndex is greater than the previous one. If I try and run this code with a lower animationIndex, then the current (higher index) animation keeps playing.

Perhaps it's an indicator of something that autoCancel only cancels animations of the same index.

I have tried:

  • debugging this myself to get more information, but the returned ObjectAnimator seems to be correct.
  • Holding separate references to the different ObjectAnimators (for each action).
  • Setting animations based on names, but this behaves the same as using the index.

Just let me know if I can provide any more information to help reproduce the issue. And thank you for continuing the sceneform project.

java.lang.AssertionError: Unable to create RenderableInstance

Thomas thanks for taking over the project!
I believe I'm encountering the issue described here with several older versions and 1.18.5 too:
google-ar/sceneform-android-sdk#857
google-ar/sceneform-android-sdk#472

Any help how to solve this would be apreciated.

  • When crashing I have no memory peaks, no CPU peaks (as measured by Android Studio Profiler). The app is CPU intensive though.
  • Sometimes it happens with a lot of objects on the scene (100+) sometimes a few (5) is enough to crash. The objects are ViewRenderables (textview + some icons) and some basic shapes created by sceneform (ShapeFactory.makeSphere, ShapeFactory.makeCube)
  • It happens only with new renderable when it is supposed to be drawn
  • On some devices (Galaxy S20) the error happens much more often than others (Galaxy S10)
  • After reducing viewRenderable resolutions and removing shapes, just leaving ViewRenderables it happens much less frequently but still sometimes the app crashes.

Do you have any idea how to diagnose it?
If something went wrong can we recreate the renderable instead of crashing?

My log is like this

โ€ฆ
03-18 11:31:00.888 29447 29447 D RenderabelInternalData: total:11,43 GB / free:5,03 GB / used:6,40 GB(55%)
03-18 11:31:00.888 29447 29447 D AndroidRuntime: Shutting down VM
--------- beginning of crash
03-18 11:31:00.888 29447 29447 E AndroidRuntime: FATAL EXCEPTION: main
03-18 11:31:00.888 29447 29447 E AndroidRuntime: Process: my.app, PID: 29447
03-18 11:31:00.888 29447 29447 E AndroidRuntime: java.lang.AssertionError: Unable to create RenderableInstance. 
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.rendering.RenderableInternalData.buildInstanceData(RenderableInternalData.java:247)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.rendering.RenderableInstance.prepareForDraw(RenderableInstance.java:285)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.rendering.Renderer.updateInstances(Renderer.java:596)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.rendering.Renderer.render(Renderer.java:263)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.SceneView.doRender(SceneView.java:356)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.SceneView.doFrameNoRepost(SceneView.java:319)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.google.ar.sceneform.SceneView.doFrame(SceneView.java:301)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1008)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:809)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:740)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:938)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:246)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8506)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
03-18 11:31:00.888 29447 29447 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

applying material at runtime

The following issue is currently a major problem in our project.
To play videos on textures, we need to apply a special material that supports external textures.
The material is pre-compiled via the matc-tool in the correct version and provided as Android resource, as seen in the code example.
The renderable is a loaded GLB model and successfully displayed in the scene.

Material.builder()
   .setSource(getContext(), R.raw.video_material)
   .build()
   .thenAccept(material -> {
      getRenderable().setMaterial(material);
      material.setExternalTexture("videoTexture", videoTexture);
   })
   .exceptionally(throwable ->  {
      throwable.printStackTrace();
      return null;
   });

However, the new material is not applied.
The visuals of the rendered model don't change at all.
No Exception or other error occurs.
It seems the material change by setMaterial() is simply ignored.

How can materials be set on renderables at runtime?

Note: We used a similiar approach in older Sceneform-versions by Google, but there the material was set in the SFA/SFB-import-process in build.gradle, so we never had to change materials at runtime.
I don't see a way to change the material of GLBs in the same way. Or is that possible instead?

Tested on version 1.18.11.

Model Texture not renderable perfectly

@ThomasGorisse Hi Thomas , Thanks for your quick response .
My issue is , model texture not renderable perfectly . In previous version it works perfectly. also my model is fine .

`

ModelRenderable.builder()
.setSource(this, Uri.fromFile(new File(modelUrl)))
.setIsFilamentGltf(true)
.build()
.thenAccept(modelRenderable -> {
AnchorNode anchorWebNode = new AnchorNode(anchor);
anchorWebNode.setParent(arFragment.getArSceneView().getScene());
Node transformableNode = new Node();//arFragment.getTransformationSystem()
transformableNode.setParent(anchorWebNode);
transformableNode.setLocalPosition(new Vector3(Float.parseFloat(posx), Float.parseFloat(posz),-Float.parseFloat(posy)));

    Quaternion rx = Quaternion.eulerAngles(new Vector3(Float.parseFloat(rotatex) - 90, Float.parseFloat("0.0"), Float.parseFloat("0.0")));
    Quaternion ry = Quaternion.eulerAngles(new Vector3(Float.parseFloat("0.0"), Float.parseFloat(rotatey), Float.parseFloat(rotatez)));
    transformableNode.setLocalRotation(Quaternion.multiply(rx,ry));
    transformableNode.setLocalScale(new Vector3(Float.parseFloat(scalex), Float.parseFloat(scaley), Float.parseFloat(scalez)));


    transformableNode.setRenderable(modelRenderable);

}
.exceptionally(
throwable -> {

                        throwable.printStackTrace();


                        Toast toast =
                                Toast.makeText(this, "Unable to load renderable ", Toast.LENGTH_LONG);
                        toast.setGravity(Gravity.CENTER, 0, 0);
                        toast.show();
                        return null;
                    });

`

Actual model :
https://raw.githubusercontent.com/suryanadiminti99/Assets/master/Screenshot%202021-04-24%20at%202.03.33%20PM.png

After enabled repository :
https://raw.githubusercontent.com/suryanadiminti99/Assets/master/Screenshot_20210424-140233.png

Chroma key video texture sample not working correctly

Hello,

the chroma key video texture sample seems to be broken since v1.18.10; it currently looks more like a mirror of your surroundings:

video_texture_chroma_key

It worked correctly in v1.18.9. The plain video texture sample works fine in all versions however.

I'm not a 3D expert, but I suppose it may have something to do with the material and/or the material fixes that went into v1.18.10.

Does Sceneform cause JNI exception?

Hi,

I have been trying to run the scene from on an Android App and it works perfectly fine during Debugging it works amazingly.
But as soon as the release is signed the APK generated is not able to even open the ARFragment as soon as I click on the intent to load the arFragment layout the application crashes with the following exception

JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.google.android.filament.NioUtils"

As soon as I click on the intent the app crashes. Again only in the release version.

Intent intent = new Intent(v.getContext() ,MainActivity.class);
                startActivity(intent);

Thanks in Advance.

Submeshcount always 0, assign new Texture with filament

I first tried this with Sceneform 1.16, but since it can not handle filament version greater than 8.1, I tried this version.

I need to render GLB models, run their animations and change the texture.

Changing textures with the Sceneform functionality does not work, because the submeshcount is still always zero. So I tried changing the textures with the filamentAsset, which does not work either. I tried getting help with this on github and on stackoverflow, with limited success.

Any help?

SetFocusMode doesn't work

Hi,

I tested the example augmented-images and added the config.setFocusMode(Config.FocusMode.AUTO) on the method setupSession(), and the focus doesn't work.

New fullscreen mode

Hello, @ThomasGorisse!
The previous fullscreen mode was hiding the action, status and navigation bars and making the activity content fullscreen.
Now only the navigation bar disappears but the activity content is still fullscreen (it's behind the action and status bars as can be seen in the examples in README.md). b2b77ef
Is it the intended behavior? For me it was the correct fullscreen mode before.
As an improvement I can implement the selection of the mode in BaseARFragment. It will be possible to select between the normal and fullscreen modes. Also, it is possible to migrate to WindowInsetsController

Duplicating BuildConfig class

@ThomasGorisse Good evening, there is an issue when build the dependecy com.gorisse.thomas.sceneform:sceneform:1.18.8.
Stack trace looks like this:
Duplicate class com.google.ar.sceneform.BuildConfig found in modules core-1.18.8-runtime (com.gorisse.thomas.sceneform:core:1.18.8) and sceneform-1.18.8-runtime (com.gorisse.thomas.sceneform:sceneform:1.18.8)

Issues with building with 1.18

A blank activity project + SceneForm using the instructions from the readme doesn't seem to work,

2021-01-18 15:33:38.062 28545-28545/com.test.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.test.myapplication, PID: 28545
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.myapplication/com.test.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #9 in com.test.myapplication:layout/activity_main: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3374)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3513)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7682)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
     Caused by: android.view.InflateException: Binary XML file line #9 in com.test.myapplication:layout/activity_main: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
     Caused by: android.view.InflateException: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
     Caused by: android.view.InflateException: Binary XML file line #22 in com.test.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:854)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1006)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
        at com.google.ar.sceneform.ux.BaseArFragment.onCreateView(BaseArFragment.java:162)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
        at androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.java:1138)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:851)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133)
        at androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393)
        at androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205)
        at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:134)
        at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
        at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336)
        at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:997)
2021-01-18 15:33:38.063 28545-28545/com.test.myapplication E/AndroidRuntime:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170)
        at com.test.myapplication.MainActivity.onCreate(MainActivity.kt:15)
        at android.app.Activity.performCreate(Activity.java:7815)
        at android.app.Activity.performCreate(Activity.java:7804)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1318)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3349)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3513)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7682)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/filament/android/UiHelper$RendererCallback;
        	... 45 more
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.filament.android.UiHelper$RendererCallback" on path: DexPathList[[zip file "/data/app/com.test.myapplication-Sp8MjNhk1yZskLyFz8KGxA==/base.apk"],nativeLibraryDirectories=[/data/app/com.test.myapplication-Sp8MjNhk1yZskLyFz8KGxA==/lib/arm64, /system/lib64, /system/product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        	... 45 more

If filament is added as a dependency then we get an inflation error:

 Caused by: java.lang.IllegalStateException: Application manifest must contain meta-data.com.google.ar.core.min_apk_version
        at com.google.ar.sceneform.utilities.ArCoreVersion.getMinArCoreVersionCode(ArCoreVersion.java:32)
        at com.google.ar.sceneform.ArSceneView.initializeAr(ArSceneView.java:701)
        at com.google.ar.sceneform.ArSceneView.<init>(ArSceneView.java:117)
        	... 45 more

Duplicate class com.google.ar.sceneform.BuildConfig

Hi @ThomasGorisse, thanks for keeping sceneform updated!

I'm using version 1.18.8 and encountered this error while try to run my project

` Execution failed for task ':app:checkDebugDuplicateClasses'.

A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class com.google.ar.sceneform.BuildConfig found in modules jetified-core-1.18.8-runtime (com.gorisse.thomas.sceneform:core:1.18.8) and jetified-sceneform-1.18.8-runtime (com.gorisse.thomas.sceneform:sceneform:1.18.8)`

When i downgrade to 1.18.6, everything work fine.

Any solution?

Integration with react-native

I'm wondering if this can be integrated with react-native apps. Looking at the samples, the usage requires a whole new activity. Can this be used within a custom implemented view/surface? React-native is single-activity, so it wouldn't be possible to use this within a react-native view.

How to Render GlSurfaceview

I have created a 3d model by using the GLSurfaceview (OpenGL) and rendered it by using the ViewRenderable but it does not work properly, could you please help me?

Model not displayed (Sceneview-background)

hi i Referenced sceneview-background example

but application crash when load 3d model(FBX)

my error code is here

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2021-04-27 แ„‹แ…ฉแ„’แ…ฎ 3 41 51

and my code here

` public void renderLocalObject(){
ModelRenderable.builder()
.setSource(this, Uri.parse(localModel))
.setRegistryId(localModel)
.build()
.thenAccept(modelRenderable -> {
addNodeToScene(modelRenderable);
})
.exceptionally(throwable -> {
String message = throwable.getMessage();

                Handler mainHandler = new Handler(Looper.getMainLooper());
                Runnable myRunnable = (Runnable)(new Runnable(){

                    @Override
                    public void run() {
                        dialog.getBuilder().content(message)
                                .positiveText("ํ™•์ธ")
                                .canceledOnTouchOutside(false)
                                .autoDismiss(false)
                                .onPositive(new MaterialDialog.SingleButtonCallback() {
                                    @Override
                                    public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                                        finish();
                                    }
                                }).show();
                    }
                });
                mainHandler.post(myRunnable);
                return null;
            });
}`

` public void addNodeToScene(ModelRenderable model){
if (mSceneView != null ){
double y = 0.0;
TransformationSystem transformationSystem = makeTransformationSystem();
DragTransformableNode dragTransformableNode = new DragTransformableNode(3.0F, transformationSystem);

        dragTransformableNode.setLookDirection(new Vector3(1.0F, 0.0F, 2.0F));
        dragTransformableNode.setRenderable((Renderable) model);

        
        dragTransformableNode.setLocalScale(new Vector3(2.0F, 2.0F, 2.0F));
        dragTransformableNode.setLocalPosition(new Vector3(0.0F, -1.5F, 0.0F));
        Log.e(TAG, "model default scale : "+dragTransformableNode.getLocalScale().toString());
        Log.e(TAG, "model default position : "+dragTransformableNode.getLocalPosition().toString());


        Objects.requireNonNull(mSceneView.getScene().getSunlight()).setEnabled(true);
        mSceneView.getScene().addChild((Node) dragTransformableNode);

        if (Objects.requireNonNull(dragTransformableNode.getRenderableInstance()).hasAnimations()){
            dragTransformableNode.getRenderableInstance().animate(true).start();
        }

// if (model.getAnimationData(0) !=null){
// AnimationData data = model.getAnimationData(0);
// ModelAnimator animator = new ModelAnimator(data, model);
//// animator.ofAnimationTime(model, 0, 10.0f);
// animator.setRepeatCount(Animation.INFINITE);
// animator.start();
// }
dragTransformableNode.select();
mSceneView.getScene().addOnPeekTouchListener(new Scene.OnPeekTouchListener() {
@OverRide
public void onPeekTouch(HitTestResult hitTestResult, MotionEvent motionEvent) {
transformationSystem.onTouch(hitTestResult, motionEvent);
}
});
}
}`

i have no idea

oh sorry localmodel is "dying.sfb" in my assets

Loading a glTF file will throw inside of Filament and not find the associated bin file.

  1. Using the "sample-sceneview-background" demo project add the following gltf and bin files from here (https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/RiggedSimple/glTF) to the models folder where the cube.glb file exist.
  2. At line 60 of MainActivity.java replace cube.glb with RiggedSimple.gltf
  3. Build the project and run.

Observed Results:
Demo crashes with error in Logcat: com.google.ar.sceneform.samples.sceneviewbackground E/Filament: Unable to load external resource: RiggedSimple0.bin

Proposed Solution:
Inside of RenderableInstance.java in the createFilamentAssetModelInstance function, move renderableData.resourceLoader.asyncBeginLoad(createdAsset); at line 145 and call that at line 176 replacing renderableData.resourceLoader.loadResources(createdAsset); so that all resource files get to be added in the renderableData.resourceLoader.addResourceData block above before loading the asset.

Tested with both glb and gltf files, with no found issues so far.

How to stop Repeat Animation

Hi @ThomasGorisse I am using below code for playing animation . Animation will play repeatedly . I want to play it one time. How can i define it .

`FilamentAsset filamentAsset = arrayListModelNodes.get(j).getRenderableInstance().getFilamentAsset();

                                                if (filamentAsset.getAnimator().getAnimationCount() > 0) {
                                                    // Loop animations
                                                    for (int k = 0;k<filamentAsset.getAnimator().getAnimationCount();k++){

                                                        Log.v("Plugxr","Animations : "+filamentAsset.getAnimator().getAnimationName(k));

                                                       animators.add(new AnimationInstance(filamentAsset.getAnimator(), k, System.nanoTime(),filamentAsset.getAnimator().getAnimationName(k),"1","0"));
                                                    }

                                                }`

`// For animations
Long time = System.nanoTime();

        for (AnimationInstance animator : animators) {
            // Start animation after delay time.
            final Handler handler = new Handler(Looper.getMainLooper());
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    //Do something after 100ms
                    animator.animator.applyAnimation(
                            animator.index,
                            (float) ((time - animator.startTime) / (double) SECONDS.toNanos(1))
                                    % animator.duration);


                    Log.v("Plugxr", String.valueOf(animator.name));

                    animator.animator.updateBoneMatrices();



                }
            }, Long.parseLong(animator.delay_time));

        }`

Incorrect colors in ViewRenderable

Hello, @ThomasGorisse!
When using the colors with the full pixel intensity, for example, the red #ff0000, green #00ff00 and blue #0000ff colors, they are displayed incorrectly on a ViewRenderable. This can be tested by changing the label background color here:
https://github.com/ThomasGorisse/sceneform-android-sdk/blob/master/samples/gltf/src/main/res/drawable/rounded_bg.xml#L18
I think that this is caused by the inverseTonemapSRGB function here:
https://github.com/ThomasGorisse/sceneform-android-sdk/blob/master/core/assets-sources/materials/sceneform_view_material.mat#L41
Should I ask about that in the Filament repository since I get the same results in the hello-triangle example?

Depth API disabled

Is there any reason why you disabled the Depth API here https://github.com/ThomasGorisse/sceneform-android-sdk/blob/master/ux/src/main/java/com/google/ar/sceneform/ux/BaseArFragment.java#L401 ?
If I use the old way to set the session config via getSessionConfiguration my enabled Depth API get's deactivated in the above mentioned line in the BaseArFragment class.

So this

Config config = getSessionConfiguration(session);

config.setDepthMode(Config.DepthMode.DISABLED);
config.setPlaneFindingMode(Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL);
config.setFocusMode(Config.FocusMode.AUTO);

might be maybe something like this.

Config config = new Config(session);
config.setDepthMode(Config.DepthMode.DISABLED);
config.setPlaneFindingMode(Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL);
config.setFocusMode(Config.FocusMode.AUTO);

config = getSessionConfiguration(config);

Black texture when model display on screen

There will be a black shadow when the model appears. As shown in the video
The andy model is downloaded from Poly.
The code is as below :

    private void loadModel() {
        WeakReference<MainActivity> weakActivity = new WeakReference<>(this);
        ModelRenderable.builder()
                .setSource(this, Uri.parse("andy.glb"))
                .setIsFilamentGltf(true)
                .build()
                .thenAccept(modelRenderable -> {
                    MainActivity activity = weakActivity.get();
                    if (activity != null) {
                        activity.modelRenderable = modelRenderable;
                    }
                })
                .exceptionally(throwable -> {
                    Log.e(TAG, throwable.getMessage());
                    return null;
                });
    }

    @Override
    public void onTapPlane(HitResult hitResult, Plane plane, MotionEvent motionEvent) {
        if (modelRenderable == null) {
            return;
        }
        arFragment.getArSceneView().getScene().addOnUpdateListener(this);

        Anchor anchor = hitResult.createAnchor();
        AnchorNode anchorNode = new AnchorNode(anchor);
        anchorNode.setParent(arFragment.getArSceneView().getScene());

        Node node = new Node();
        node.setParent(anchorNode);
        node.setRenderable(modelRenderable);
        node.setLocalScale(Vector3.one().scaled(0.1f));

        FilamentAsset assets = node.getRenderableInstance().getFilamentAsset();
        if (assets.getAnimator().getAnimationCount() > 0) {
            Log.e(TAG, "animators count: ".concat(String.valueOf(assets.getAnimator().getAnimationCount())));
            animators.add(new AnimationInstance(assets.getAnimator(), 0, System.nanoTime()));
        }
    }

    @Override
    public void onUpdate(FrameTime frameTime) {
        Long time = System.nanoTime();
        for (AnimationInstance animatorInstance : animators) {
            animatorInstance.animator.applyAnimation(
                    animatorInstance.index,
                    ((float) (time - animatorInstance.startTime) / TimeUnit.SECONDS.toNanos(1)) % animatorInstance.duration
            );
            animatorInstance.animator.updateBoneMatrices();
        }
    }

My question is that sceneform problem or model problem ?
Anyone met this problem before ?

Can the webpage HTML5 video element be loaded into AR view ?

I was using SceneForm SDK for the AR capabilities on my app. I've tried loading the WebView on ViewRenderable and it worked fine with no issue. I could able to load any HTTP/HTTPS webpages. However when tried to load the webpage that uses HTML5 video element in it, then I just see the black screen instead of the actual video content. BTW, audio content plays fine.

Can the HTML5 video element be loaded into AR view ? Any suggestion on how this can be achieved ?

Camera2 Error: IllegalStateException: Session has been closed; further changes are illegal.

For a few days, I have lots of users of my app crash with the following exception:

Fatal Exception: java.lang.IllegalStateException: Session has been closed; further changes are illegal.
       at android.hardware.camera2.impl.CameraCaptureSessionImpl.checkNotClosed(CameraCaptureSessionImpl.java:665)
       at android.hardware.camera2.impl.CameraCaptureSessionImpl.stopRepeating(CameraCaptureSessionImpl.java:274)
       at dtr.a(dtr.java:8)
       at dtu.b(dtu.java:10)
       at dts.a(dts.java:12)
       at hhi.e(hhi.java:2)
       at hlc.run(hlc.java:10)
       at hpv.g(hpv.java:1)
       at hpu.run(hpu.java:7)

Since I'm not using any direct Camera2 implementations, my only guess is, that this is connected with Sceneform in some way. Is there anyone who can confirm the same crashes in their userbase? Or any way how to prevent this?
I have these crashes on the latest version of ArCore (1.23), different Android versions (8, 9), and different phone vendors (Samsung, Redmi, Huawei).

Environment map

When I create a reflective material, I see a room in it - default environment map.
An example can be seen here
Is it possible to change the environment map now?

Runtime model loading

Can I load my model at runtime if it's not glb, but dae for example or something else?

Can we play video on AR Surface ?

Hi Team,
We can play video using Chromakey on scene form 1.51. But how can we play video in latest version of scene form . I tried like below. I created cube and added texture to cube . But i am getting error .

Texture.builder()
.setSource(getApplicationContext(), Uri.fromFile(new File(videoUrl)))
.build()
.thenAccept(texture1 -> {
MaterialFactory.makeTransparentWithTexture(ArActivity.this, texture1)
.thenAccept(material -> {
material.setFloat("materialParams.alphaFactor", 1.0f);

                            //material.setTexture(PlaneRenderer.MATERIAL_TEXTURE, texture1);

                            ModelRenderable renderable = ShapeFactory.makeCube(new Vector3(new Vector3(Float.parseFloat(scalex), 0.0001f, Float.parseFloat(scaley))), Vector3.zero(), material);

                            AnchorNode anchorNode = new AnchorNode(anchor);

                            // Create a node to render the video and add it to the anchor.
                            Node videoNode = new Node();
                            anchorNode.setParent(arFragment.getArSceneView().getScene());
                            videoNode.setParent(anchorNode);

                           // Vector3 vectorScale = new Vector3(Float.parseFloat(scalex), 0.0001f, Float.parseFloat(scaley));




                            Vector3 vectorPos = new Vector3(Float.parseFloat(posx), Float.parseFloat(posy),(Float.parseFloat(posz)));



                            Quaternion rx = Quaternion.eulerAngles(new Vector3(Float.parseFloat(rotatex), 0.0f, 0.0f));
                            Quaternion ry = Quaternion.eulerAngles(new Vector3(0.0f, Float.parseFloat(rotatey), Float.parseFloat(rotatez)));



                            // Set Scaling
                          //  videoNode.setLocalScale(vectorScale);
                            // Set Position
                            videoNode.setLocalPosition(vectorPos);
                            // Set Rotation
                            videoNode.setLocalRotation(Quaternion.multiply(rx,ry));



                            // Start playing the video when the first node is placed.
                            if (!mediaPlayer.isPlaying()) {
                                mediaPlayer.start();


                                texture.getSurfaceTexture().setOnFrameAvailableListener(new SurfaceTexture.OnFrameAvailableListener() {
                                    @Override
                                    public void onFrameAvailable(SurfaceTexture surfaceTexture) {
                                        videoNode.setRenderable(renderable);
                                        texture.getSurfaceTexture().setOnFrameAvailableListener(null);
                                    }
                                });

                            } else {
                                videoNode.setRenderable(renderable);
                            }



                            // Stop Plane Renderable if data is loaded
                            if (planeRenderer!=null){
                                planeRenderer.setEnabled(false);
                            }


                        });
            }); 

[question] Some models being rendered extremely large

Hey @ThomasGorisse thanks for maintaining the scene form SDK this library has been a life saver.

I just wanted to know if there is a known issue about some models being rendered in extremely huge sizes and some being rendered perfectly well.

https://sketchfab.com/3d-models/gladiador-874fc7e11d674f51a4dc2082d29c9b9a - This renders Perfectly and the size can be adjusted

https://poly.google.com/view/75WQH5E29tF - This renders in extreme size I haven't been able to see the complete model and for some reason it makes the model extremely difficult to resize

https://glb-packer.glitch.me/ - I am using this to convert the models from GLTF to GLB

And again thanks a lot for the library.

SceneForm assets

Could you please add "com.google.ar.sceneform:assets:1.17.1". When I try to implement this dependency alongside yours it cannot build and gives duplicate class errors. Resolving this with exclude group or module also didn't work for me.

Build log:
Duplicate class com.google.ar.sceneform.collision.Box found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.Collider found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.CollisionShape found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.CollisionSystem found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.Plane found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.Ray found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.RayHit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.collision.Sphere found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.common.TransformProvider found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.AabbDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ArcDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.AxisSystem found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.BlendShape found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Color found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataBool found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataBytes found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataFloat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataHashValue found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataInt found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataQuat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataString found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataVec2 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataVec3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DataVec4 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.DeviceType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.KeyVariantPairDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.LayoutFillOrder found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.LayoutHorizontalAlignment found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.LayoutVerticalAlignment found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Mat4x3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.MaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.MaterialTextureDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.MaterialTextureUsage found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelIndexRange found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelInstanceDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineCollidableDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineImportDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineMaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineRenderableDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.ModelPipelineSkeletonDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.OptionalBool found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Quat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Rect found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Recti found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.SkeletonDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.SubmeshAabb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.TextureDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.TextureFiltering found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.TextureTargetType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.TextureWrap found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VariantArrayDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VariantArrayDefImpl found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VariantDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VariantMapDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Vec2 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Vec2i found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Vec3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.Vec4 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VertexAttribute found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VertexAttributeType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.lullmodel.VertexAttributeUsage found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.MathHelper found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.Matrix found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.Quaternion found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.QuaternionEvaluator found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.Vector3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.math.Vector3Evaluator found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.resources.ResourceHolder found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.resources.ResourceRegistry found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.resources.SharedReference found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.AndroidPreconditions found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.ArCoreVersion found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.ChangeId found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters$1 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.EnvironmentalHdrParameters$Builder found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.LoadHelper found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.MovingAverage found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.MovingAverageMillisecondsTracker$Clock found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.Preconditions found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.SceneformBufferUtils found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.sceneform.utilities.TimeAccumulator found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.AabbDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ArcDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.AxisSystem found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.BlendShape found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Color found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataBool found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataBytes found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataFloat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataHashValue found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataInt found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataQuat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataString found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataVec2 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataVec3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DataVec4 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.DeviceType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.KeyVariantPairDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.LayoutFillOrder found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.LayoutHorizontalAlignment found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.LayoutVerticalAlignment found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Mat4x3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.MaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.MaterialTextureDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.MaterialTextureUsage found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelIndexRange found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelInstanceDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineCollidableDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineImportDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineMaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineRenderableDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.ModelPipelineSkeletonDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.OptionalBool found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Quat found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Rect found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Recti found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.SkeletonDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.SubmeshAabb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.TextureDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.TextureFiltering found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.TextureTargetType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.TextureWrap found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VariantArrayDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VariantArrayDefImpl found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VariantDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VariantMapDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Vec2 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Vec2i found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Vec3 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.Vec4 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VertexAttribute found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VertexAttributeType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.lull.VertexAttributeUsage found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimListFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimSource found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimSourceEmbedded found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimSourceFileName found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimSourceUnion found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.AnimTableFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.CompactSplineAnimFloatFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.CompactSplineFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.CompactSplineFloatFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.CompactSplineFloatNodeFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.CompactSplineNodeFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.ConstantOpFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.MatrixAnimFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.MatrixOpFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.MatrixOpValueFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.MatrixOperationTypeFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.ModularParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.OvershootParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.RigAnimFb found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.Settled1fParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.SplineParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.motive.TwitchParameters found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.AnimationDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.BoolInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.BoolVec2Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.BoolVec3Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.BoolVec4Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.CollisionShapeType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.CompiledMaterialDeclDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.CompiledMaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.CubemapSamplerInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.DoubleInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.DoubleVec2Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.DoubleVec3Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.DoubleVec4Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.ExternalSamplerInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.InputDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.IntInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.IntVec2Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.IntVec3Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.IntVec4Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.LightingCubeDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.LightingCubeFaceDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.LightingCubeFaceType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.LightingDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.MaterialDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.NullInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.ParameterDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.ParameterInitDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.ParameterInitDefType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.RenderFlags found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.RuntimeAssetDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerCompareFunc found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerCompareMode found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerMagFilter found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerMinFilter found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerParamsDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerUsageType found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SamplerWrapMode found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.ScalarInit found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SceneformBundleDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.SuggestedCollisionShapeDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.TransformDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.Vec2Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.Vec3Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.Vec4Init found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.ar.schemas.sceneform.VersionDef found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.Constants found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.FlatBufferBuilder found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.FlatBufferBuilder$ByteBufferFactory found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.FlatBufferBuilder$HeapByteBufferFactory found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.Struct found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.Table found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.Utf8 found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1) Duplicate class com.google.flatbuffers.Utf8Safe found in modules jetified-core-1.18.3-runtime (com.gorisse.thomas.sceneform:core:1.18.3) and jetified-sceneform-base-1.15.0-runtime (com.google.ar.sceneform:sceneform-base:1.17.1)

Chromakey Video Handling Error

If i use chromakey video like below , getting this error . Please look on it also . can we play videos in ARscene . @ThomasGorisse

My Code :

`ExternalTexture texture = new ExternalTexture();
// Create an Android MediaPlayer to capture the video on the external texture's surface.
mediaPlayer = MediaPlayer.create(this, Uri.fromFile(new File(videoUrl)));
mediaPlayer.setSurface(texture.getSurface());
mediaPlayer.setLooping(false);

ModelRenderable.builder()
.setSource(this, R.raw.chroma_key_video)
.build()
.thenAccept(
renderable -> {

                        renderable.getMaterial().setExternalTexture("videoTexture", texture);
                        renderable.getMaterial().setFloat4("keyColor", CHROMA_KEY_COLOR);

                        AnchorNode anchorNode = new AnchorNode(anchor);

                        // Create a node to render the video and add it to the anchor.
                        Node videoNode = new Node();
                        anchorNode.setParent(arFragment.getArSceneView().getScene());
                        videoNode.setParent(anchorNode);

                        // Vector3 vectorScale = new Vector3(Float.parseFloat(scalex), 0.0001f, Float.parseFloat(scaley));




                        Vector3 vectorPos = new Vector3(Float.parseFloat(posx), Float.parseFloat(posy),(Float.parseFloat(posz)));



                        Quaternion rx = Quaternion.eulerAngles(new Vector3(Float.parseFloat(rotatex), 0.0f, 0.0f));
                        Quaternion ry = Quaternion.eulerAngles(new Vector3(0.0f, Float.parseFloat(rotatey), Float.parseFloat(rotatez)));



                        // Set Scaling
                        //  videoNode.setLocalScale(vectorScale);
                        // Set Position
                        videoNode.setLocalPosition(vectorPos);
                        // Set Rotation
                        videoNode.setLocalRotation(Quaternion.multiply(rx,ry));



                        // Start playing the video when the first node is placed.
                        if (!mediaPlayer.isPlaying()) {
                            mediaPlayer.start();


                            texture.getSurfaceTexture().setOnFrameAvailableListener(new SurfaceTexture.OnFrameAvailableListener() {
                                @Override
                                public void onFrameAvailable(SurfaceTexture surfaceTexture) {
                                    videoNode.setRenderable(renderable);
                                    texture.getSurfaceTexture().setOnFrameAvailableListener(null);
                                }
                            });

                        } else {
                            videoNode.setRenderable(renderable);
                        }



                    })
            .exceptionally(
                    throwable -> {
                        Toast toast =
                                Toast.makeText(this, "Unable to load video renderable", Toast.LENGTH_LONG);
                        toast.setGravity(Gravity.CENTER, 0, 0);
                        toast.show();
                        return null;
                    });`

Error :

E/Texture: Unable to load Texture registryId='file:///storage/emulated/0/Android/data/com.plugxr.cloudanchors/files/LC4V39/BURGERKING/Assets/ua-d107746686e9acb61970044cd7c7f5f1/Content/videos/1615873117.mp4' java.util.concurrent.CompletionException: java.lang.IllegalStateException: Failed to decode the texture bitmap. The InputStream was not a valid bitmap. at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:276) at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:282) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1627) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:764) Caused by: java.lang.IllegalStateException: Failed to decode the texture bitmap. The InputStream was not a valid bitmap. at com.google.ar.sceneform.rendering.Texture$Builder.lambda$makeBitmap$1(Texture.java:334)

App Crashes When i added new release

Unable to start activity ComponentInfo{com.plugxr.docomo/com.plugxr.cloudanchors.CreateAchor.ArActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.ar.sceneform.ArSceneView com.google.ar.sceneform.ux.ArFragment.getArSceneView()' on a null object reference

Any one please help me out .

Background color doesn't change in SceneView

Hello,

I'm trying to use a SceneView to display a 3d object and the background color won't change:

<com.google.ar.sceneform.SceneView
android:id="@+id/sceneView"
android:background="@color/red_900"
android:layout_width="match_parent"
android:layout_height="match_parent" />

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.