Explore enhancements to RoomPlan

RSS for tag

Discuss the WWDC23 Session Explore enhancements to RoomPlan

Posts under wwdc2023-10192 tag

12 Posts

Post

Replies

Boosts

Views

Activity

iOS17 : RoomPlan CaptureSession , Symbol not found
Our app is available in the App Store and it's working well on ios16 devices. A few days ago, we noticed in Organizer weird bugs coming from ios17, with the only hint "NO_CRASH_STACK". After installing ios17 on an iPhone, we were able to reproduce the crash directly at launch, but only when the app is downloaded from the appstore (no crash when the app is installed with Xcode 15 beta) "type": "EXC_CRASH", "signal": "SIGABRT" }, "termination": { "code": 4, "flags": 518, "namespace": "DYLD", "indicator": "Symbol missing", "details": [ "(terminated at launch; ignore backtrace)" ], "reasons": [ "Symbol not found: _$s8RoomPlan0A14CaptureSessionCACycfc", "Referenced from: <XXXX----XXXXXXX> /Volumes/VOLUME//.app/", "Expected in: <XXXX--**-XXXXX-XXXXXXX> /System/Library/Frameworks/RoomPlan.framework/RoomPlan" ] Does Anybody else encounter this issue? What should we do to solve this? thanks!
3
0
1.3k
Oct ’23
RoomPlan export thumbnail as image
I need to generate a thumbnail from CapturedRoom, that is either a static frame of the PIP thumbnail that we see in the result after scanning. Ideally an image, but I could also use a simplified OBJ if that's a possibility. From documentation it looks like the only option is to export as USDZ. Is there a way to generate a static image file after room scan is processed? try finalResults?.export(to: destinationURL, exportOptions: .mesh)
0
0
683
Aug ’23
Issue with Merging Rooms - RoomPlan - Seeking Guidance
Hello fellow developers, When attempting to merge single rooms into one model, the resulting floorplan I got appears to have rooms stacked on top of each other. I am using a single ARSession for all the scans, to my understanding, the world coordinate system remains consistent during a continuous ARSession. I can't figure out why the rooms are overlapping or positioned vertically on top of each other in the generated floorplan. I am uncertain whether this issue stems from my own code implementation. I did the following modification to the sample code Initiated an ARSession in RoomCaptureViewController private var arWorldTrackingConfig: ARWorldTrackingConfiguration = ARWorldTrackingConfiguration() private var arSession: ARSession = ARSession() Pass ARSession to roomCaptureView private func setupRoomCaptureView() { arSession.run(arWorldTrackingConfig) roomCaptureView = RoomCaptureView(frame: view.bounds, arSession: arSession) roomCaptureView.captureSession.delegate = self roomCaptureView.delegate = self view.insertSubview(roomCaptureView, at: 0) } Pause the ARSession after completion of scanning one room private func saveSession() { isScanning = false roomCaptureView?.captureSession.stop(pauseARSession: false) setCompleteNavBar() } @IBAction func saveScanning(_ sender: UIBarButtonItem) { if isScanning { saveSession() } else { cancelScanning(sender) } self.exportButton?.isEnabled = false self.activityIndicator?.startAnimating() } Any experiences or insights are greatly appreciated.
5
1
1.8k
Jul ’23
RoomPlan Categories and Models
In the presentation there was a reference to a Parent/Child relationship. The parent for doors and Windows might be Walls but the relationship between Walls or multiple Windows or doors would be that of a "Sibling" or "Peer" component to maintain logical consistency of the objects. I would also recommend a Junction Object, which means more than an Edge because it would describe the two peer objects that were being joined, and the angle of that junction between the objects. The Junction could also describe the shape of the junction to capture any curvature or discontinuity of the junction. Multiple junctions might also be peers because they would have a junction between other adjoining surfaces giving a more complete description to the structure of the room. The parent of all of these surfaces and junctions would be the Room itself. Such a description would be useful in an architectural review of the room structure.
0
0
982
Jul ’23
Great job on the IOS17/Xcode15 version of RoomPlan... except
I was happy to see the improvements in the Capture Side of RoomPlan, particularly the Polygon handling for the walls. Unfortunately, the Walls with 5 Vertices (Great Room Ceilings, Garage exteriors, etc) are projected in the viewers as having 4 Vertices and the top edge of the wall is projected upwards to the highest point between the two vertices leading to the peak. I am presuming that from this manifestation there must be some presumed 4-ness of all walls that leads to use of the Extent of the uppermost point rather than a projection of the lines to the point where the lines meet at the top. What viewer can be used that properly handles this misrepresentation of the imagery? I have imagery but your download only accepts pure files and will not take a USDZ file even retyped as TXT files
1
0
939
Jun ’23
RoomPlanExporter sample code, no objects being substituted
I'm trying to test the RoomPlan exporter with ModelProvider. I ran the sample code, and tried loading from the existing room plan samples of Merging Multiple Scans. Then after I open the exported USDZ output, none of the objects are being substituted with the objects inside RoomPlanCatalog.bundle. I have debugged and checked that the Catalog is loaded correctly. What is the specification of providing a catalog for RoomPlan's ModelProvider? As it's not clear what we should do regarding that from the documentation. Shouldn't there be a generic 3D mesh provided for objects such as Chair, Table, and Shelf, but I couldn't see any of them loaded. Although chair could be easily detected during the scan process, as I observed the session delegates. Tried configuring the captureSession.arSession with SceneReconstruction configuration, but there's no difference. It looks like the issue is only on the exporting process.
1
0
1.2k
Jun ’23
The definition for PolygonCorners leaves much to be desired in terms of complexity.
The definition for PolygonCorners given in the document at the index https://developer.apple.com/documentation/roomplan/capturedroom/surface/polygoncorners. Is woefully lacking. To validly link the sides of a polygon from the definition of a corner there needs to be an incoming and outgoing line descriptor that points to the next subsequent corner of the polygon. Just like a line has two endpoints, the edges of a polygon have corners to which any corner may be linked and it is an ordered set forwards and backwards, in the case of a 2D polygon. In the case of a 3D polygon, such a corner would likely have at the very least third directional connection giving depth of that point. In a 3D geometry you may have one point that has multiple points going in another direction much like the facet cuts of a Brilliant Cut Diamond. This sibling relationship of the corner points would complicate the definition but not impossibly so.
2
0
1k
Jun ’23
iOS17 : RoomPlan CaptureSession , Symbol not found
Our app is available in the App Store and it's working well on ios16 devices. A few days ago, we noticed in Organizer weird bugs coming from ios17, with the only hint "NO_CRASH_STACK". After installing ios17 on an iPhone, we were able to reproduce the crash directly at launch, but only when the app is downloaded from the appstore (no crash when the app is installed with Xcode 15 beta) "type": "EXC_CRASH", "signal": "SIGABRT" }, "termination": { "code": 4, "flags": 518, "namespace": "DYLD", "indicator": "Symbol missing", "details": [ "(terminated at launch; ignore backtrace)" ], "reasons": [ "Symbol not found: _$s8RoomPlan0A14CaptureSessionCACycfc", "Referenced from: <XXXX----XXXXXXX> /Volumes/VOLUME//.app/", "Expected in: <XXXX--**-XXXXX-XXXXXXX> /System/Library/Frameworks/RoomPlan.framework/RoomPlan" ] Does Anybody else encounter this issue? What should we do to solve this? thanks!
Replies
3
Boosts
0
Views
1.3k
Activity
Oct ’23
RoomPlan export thumbnail as image
I need to generate a thumbnail from CapturedRoom, that is either a static frame of the PIP thumbnail that we see in the result after scanning. Ideally an image, but I could also use a simplified OBJ if that's a possibility. From documentation it looks like the only option is to export as USDZ. Is there a way to generate a static image file after room scan is processed? try finalResults?.export(to: destinationURL, exportOptions: .mesh)
Replies
0
Boosts
0
Views
683
Activity
Aug ’23
Sample Code - RoomPlan Improvements
The two links on this page for RoomPlan sample code from WWDC 2023 are broken. Any idea when we can expect these to be posted? https://developer.apple.com/documentation/roomplan/providingcustommodelsforcapturedroomsandstructureexports and https://developer.apple.com/documentation/roomplan/mergingmultiplescansintoasinglestructure Thanks!
Replies
4
Boosts
1
Views
2.4k
Activity
Jul ’23
Issue with Merging Rooms - RoomPlan - Seeking Guidance
Hello fellow developers, When attempting to merge single rooms into one model, the resulting floorplan I got appears to have rooms stacked on top of each other. I am using a single ARSession for all the scans, to my understanding, the world coordinate system remains consistent during a continuous ARSession. I can't figure out why the rooms are overlapping or positioned vertically on top of each other in the generated floorplan. I am uncertain whether this issue stems from my own code implementation. I did the following modification to the sample code Initiated an ARSession in RoomCaptureViewController private var arWorldTrackingConfig: ARWorldTrackingConfiguration = ARWorldTrackingConfiguration() private var arSession: ARSession = ARSession() Pass ARSession to roomCaptureView private func setupRoomCaptureView() { arSession.run(arWorldTrackingConfig) roomCaptureView = RoomCaptureView(frame: view.bounds, arSession: arSession) roomCaptureView.captureSession.delegate = self roomCaptureView.delegate = self view.insertSubview(roomCaptureView, at: 0) } Pause the ARSession after completion of scanning one room private func saveSession() { isScanning = false roomCaptureView?.captureSession.stop(pauseARSession: false) setCompleteNavBar() } @IBAction func saveScanning(_ sender: UIBarButtonItem) { if isScanning { saveSession() } else { cancelScanning(sender) } self.exportButton?.isEnabled = false self.activityIndicator?.startAnimating() } Any experiences or insights are greatly appreciated.
Replies
5
Boosts
1
Views
1.8k
Activity
Jul ’23
RoomPlan Sections Polygon Data Bug?
Hey team, I was looking at the new Sections data in RoomPlan. It's really awesome! However, it looks like the polygons data is being stored as a SIMD2 instead of SIMD3. Is the data being cast incorrectly? (I see the Y axis seems to match the ground level). If so, would you mind fixing this bug? It would be great to see this data!
Replies
0
Boosts
1
Views
621
Activity
Jul ’23
RoomPlan Categories and Models
In the presentation there was a reference to a Parent/Child relationship. The parent for doors and Windows might be Walls but the relationship between Walls or multiple Windows or doors would be that of a "Sibling" or "Peer" component to maintain logical consistency of the objects. I would also recommend a Junction Object, which means more than an Edge because it would describe the two peer objects that were being joined, and the angle of that junction between the objects. The Junction could also describe the shape of the junction to capture any curvature or discontinuity of the junction. Multiple junctions might also be peers because they would have a junction between other adjoining surfaces giving a more complete description to the structure of the room. The parent of all of these surfaces and junctions would be the Room itself. Such a description would be useful in an architectural review of the room structure.
Replies
0
Boosts
0
Views
982
Activity
Jul ’23
Great job on the IOS17/Xcode15 version of RoomPlan... except
I was happy to see the improvements in the Capture Side of RoomPlan, particularly the Polygon handling for the walls. Unfortunately, the Walls with 5 Vertices (Great Room Ceilings, Garage exteriors, etc) are projected in the viewers as having 4 Vertices and the top edge of the wall is projected upwards to the highest point between the two vertices leading to the peak. I am presuming that from this manifestation there must be some presumed 4-ness of all walls that leads to use of the Extent of the uppermost point rather than a projection of the lines to the point where the lines meet at the top. What viewer can be used that properly handles this misrepresentation of the imagery? I have imagery but your download only accepts pure files and will not take a USDZ file even retyped as TXT files
Replies
1
Boosts
0
Views
939
Activity
Jun ’23
New version of RoomPlan fails when a surface is detected
Hello, I am using RoomPlan in iOS17 with SwiftUI the program crashes as soon as a new surface is detected. It seems to come from CaptureView. Anyone else experiencing the same issue? Thanks in advance
Replies
3
Boosts
1
Views
1.3k
Activity
Jun ’23
RoomPlanExporter sample code, no objects being substituted
I'm trying to test the RoomPlan exporter with ModelProvider. I ran the sample code, and tried loading from the existing room plan samples of Merging Multiple Scans. Then after I open the exported USDZ output, none of the objects are being substituted with the objects inside RoomPlanCatalog.bundle. I have debugged and checked that the Catalog is loaded correctly. What is the specification of providing a catalog for RoomPlan's ModelProvider? As it's not clear what we should do regarding that from the documentation. Shouldn't there be a generic 3D mesh provided for objects such as Chair, Table, and Shelf, but I couldn't see any of them loaded. Although chair could be easily detected during the scan process, as I observed the session delegates. Tried configuring the captureSession.arSession with SceneReconstruction configuration, but there's no difference. It looks like the issue is only on the exporting process.
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’23
The definition for PolygonCorners leaves much to be desired in terms of complexity.
The definition for PolygonCorners given in the document at the index https://developer.apple.com/documentation/roomplan/capturedroom/surface/polygoncorners. Is woefully lacking. To validly link the sides of a polygon from the definition of a corner there needs to be an incoming and outgoing line descriptor that points to the next subsequent corner of the polygon. Just like a line has two endpoints, the edges of a polygon have corners to which any corner may be linked and it is an ordered set forwards and backwards, in the case of a 2D polygon. In the case of a 3D polygon, such a corner would likely have at the very least third directional connection giving depth of that point. In a 3D geometry you may have one point that has multiple points going in another direction much like the facet cuts of a Brilliant Cut Diamond. This sibling relationship of the corner points would complicate the definition but not impossibly so.
Replies
2
Boosts
0
Views
1k
Activity
Jun ’23
Floor in CapturedRoom (RoomPlan)
Can I Keep the floor of the scanned CapturedRoom model with RoomPlan?. Every time I scan a space, the presented preview includes the floor but when I try to manipulate the 'finalResults' (CapturedRoom) I can't find the floor component. There is a way where I can keep it or rebuild it?. Thanks!
Replies
1
Boosts
1
Views
1k
Activity
Jun ’23