VisionOS RealityView 中全景球体 中放入实体后控制问题 补充

在全模式下, 我创建一个球体 半径 10 ,给球添加 CollisionComponent 与 InputTargetComponent 我接着创建一个0.2 正方体 也添加了 上面的两组件 又添加。一个 attrach 的附件信息

代码如下

    RealityView{content,attachments  in
                
                let meshgenerate = MeshResource.generateSphere(radius: 10)
                let collisionShape = ShapeResource.generateSphere(radius: 10 )
                var sp = ModelEntity(mesh: meshgenerate)
                sp.components.set(CollisionComponent(shapes: [collisionShape]))
                sp.components.set(InputTargetComponent())
                sp.transform.scale *= .init(-1, 1, 1)
                sp.name = "sp"
                content.add(sp)
                let ont = ModelEntity(mesh: MeshResource.generateBox(size: 0.2) )
                ont.components.set(CollisionComponent(shapes: [ShapeResource.generateBox(size: .init(x: 0.2, y: 0.2, z: 0.2))]))
                ont.components.set(InputTargetComponent())
                ont.name =  "ont"
                ont.position = .init(x: 0, y: 0, z: -2)
                content.add(ont)
                
                if let stack = attachments.entity(for: "aid")
                {
                  
                    stack.name = "sssssss"
                    stack.setPosition(.init(x: 0, y: 1.5, z: -1), relativeTo: nil)
                    //  stack.generateCollisionShapes(recursive: false)
                    //stack.components.set(InputTargetComponent())
                    content.add(stack)
                }
            }
        attachments: {
                let rostion = Rotation3D(angle: Angle2D(degrees: 30), axis: .x)
                
                Attachment(id: "aid") {
                    Button {
                        print("sss","Button")
                    } label: {
                        Text("New Color")
                            .font(.extraLargeTitle)
                            .padding(40)
                    }
                    .background(.yellow)
                    
                }
            } .gesture(TapGesture().targetedToAnyEntity().onEnded({ value in
                print("sss" ,"TapGesture",value.entity.name)
                //openwind(id: "main")
            }))

只有球台可以出发 gesture 其他的 EntityModel 及 附加的信息 都无法触发 gesture

我知道问题出在 其他实体放到了球内,同时因为球体有 InputTargetComponent 组件 如果我求出 球体的 InputTargetComponent 组件 就可以出发其他的 gesture 我想 如果不删除 InputTargetComponent 他的附件信息及实体也能触发gesture,应该如何解决

VisionOS RealityView 中全景球体 中放入实体后控制问题 补充
 
 
Q