Post

Replies

Boosts

Views

Activity

Reply to scale RealityView to fit parent in .windowStyle(.automatic)
I think I was able to do something similar to what you're trying to do. I am using a portal to not have to resize the actual Mesh though In my View I'm setting up states in Entities @State var world = Entity() @State var portal = Entity() @State var boxEntity = ModelEntity( mesh: .generateBox(width: 0, height: 0, depth: 0), materials: [] ) @State var ready = 0 Then in the body of the view, within some other stuff I'm rendering this GeometryReader3D { proxy in ZStack { Color.red // Only have this here to check the bounding box RealityView { content in world.components.set(WorldComponent()) world.addChild(boxEntity) // this is the part that converts from the GeometryReader size to the portal size let proxySize3d = proxy.frame(in: .local) let portalDims = content.convert(proxySize3d, from: .local, to: world) // create portal with converted sizes portal.components.set(ModelComponent( mesh: .generatePlane( width: portalDims.extents.x, height: portalDims.extents.y ), materials: [ PortalMaterial(), OcclusionMaterial() ] )) portal.components.set(PortalComponent(target: world)) content.add(world) content.add(portal) } update: { content in let proxySize3d = proxy.frame(in: .local) let portalDims = content.convert(proxySize3d, from: .local, to: world) portal.components.set(ModelComponent( mesh: .generatePlane( width: portalDims.extents.x, height: portalDims.extents.y ), materials: [ PortalMaterial(), OcclusionMaterial() ] )) if let material = boxMaterial { boxEntity.components.set(ModelComponent( mesh: MeshResource.generateBox( width: boxtype.inMeters.width, height: boxtype.inMeters.height, depth: boxtype.inMeters.length ), materials: [SimpleMaterial(...color and things)] )) boxEntity.transform.rotation = simd_quatf(angle: 45, axis: SIMD3(.y)) } else { self.ready = self.ready + 1 } } Now when I resize my window, the portal also gets resized to match the ZStack.. The portal still shows up a little ahead of the 2D window though, not sure why :/
Mar ’24