Wrong distance from vertical plane in AR QuickLook for USDZ with more than one object

Hi! I created manually USDZ with one cube to anchoring on wall (vertical plane)

#usda 1.0
(
    defaultPrim = "Root"
    metersPerUnit = 1
    upAxis = "Y"
)
def Xform "Root" (
    assetInfo = {
        string name = "Root"
    }
    kind = "component"
)
{

    def Xform "Geom" (
        prepend apiSchemas = [ "Preliminary_AnchoringAPI" ]
    )
    {
        # token preliminary:anchoring:type = "plane"
        # token preliminary:planeAnchoring:alignment = "vertical"

        matrix4d xformOp:transform = (
            (0, 0, 0, 0), 
            (0, 0, 0, 0), 
            (0, 0, 0, 0), 
            (0, 0, 0.2, 1) ) 

        def Xform "Group"
        {           

            def Cube "cube_0"
            {
                float3[] extent = [(-1, -1, -1), (1, 1, 1)]
                uniform bool doubleSided = 1

                rel material:binding = </Root/Materials/material_0>
                matrix4d xformOp:transform = (
                    (0.1, 0, 0, 0), 
                    (0, 0.1, 0, 0), 
                    (0, 0, 0.01, 0), 
                    (0, 0, 0, 1) ) 
                uniform token[] xformOpOrder = ["xformOp:transform"]
            }
        }

    }
}

It's displayed correct in ARQuickLook

When I add second cube to USD(z)

#usda 1.0
(
    defaultPrim = "Root"
    metersPerUnit = 1
    upAxis = "Y"
)
def Xform "Root" (
    assetInfo = {
        string name = "Root"
    }
    kind = "component"
)
{

    def Xform "Geom" (
        prepend apiSchemas = [ "Preliminary_AnchoringAPI" ]
    )
    {
        # token preliminary:anchoring:type = "plane"
        # token preliminary:planeAnchoring:alignment = "vertical"

        matrix4d xformOp:transform = (
            (0, 0, 0, 0), 
            (0, 0, 0, 0), 
            (0, 0, 0, 0), 
            (0, 0, 0.2, 1) ) 

        def Xform "Group"
        {           

            def Cube "cube_0"
            {
                float3[] extent = [(-1, -1, -1), (1, 1, 1)]
                uniform bool doubleSided = 1

                rel material:binding = </Root/Materials/material_0>
                matrix4d xformOp:transform = (
                    (0.1, 0, 0, 0), 
                    (0, 0.1, 0, 0), 
                    (0, 0, 0.01, 0), 
                    (0, 0, 0, 1) ) 
                uniform token[] xformOpOrder = ["xformOp:transform"]
            }

            def Cube "cube_1"
            {
                float3[] extent = [(-1, -1, -1), (1, 1, 1)]
                uniform bool doubleSided = 1

                rel material:binding = </Root/Materials/material_0>
                matrix4d xformOp:transform = (
                    (0.1, 0, 0, 0), 
                    (0, 0.1, 0, 0), 
                    (0, 0, 0.01, 0), 
                    (0.3, 0, 0, 1) ) 
                uniform token[] xformOpOrder = ["xformOp:transform"]
            }

        }

    }
}

ARQuickLook display scene ~ 10 cm from wall, and then scene have more cubes we see increased distance from wall. Here for two cubes

I also tryed recreate scene in Reality Composer on iPhone. Everything ok for one cube, and ok when preview in App(ARKit?) for two cubes, but when export scene in RealityComposer macOS to USDZ we again see wrong distance for two cubes and more.

For tests I use iPhone 13 Pro Max with iOS 16.3.1

Replies

I have same behavior - extra space(distance) from the wall when scene have two cubes - also for *.reality files exported in Reality Composer and viewed in AR QuickLook on device.