Explore enhancements to RoomPlan

RSS for tag

Discuss the WWDC23 Session Explore enhancements to RoomPlan

View Session

Posts under wwdc2023-10192 tag

12 Posts
Sort by:
Post not yet marked as solved
2 Replies
783 Views
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!
Posted
by ProtoBeam.
Last updated
.
Post not yet marked as solved
0 Replies
454 Views
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)
Posted
by moonglare.
Last updated
.
Post not yet marked as solved
3 Replies
1.3k Views
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!
Posted
by heliogram.
Last updated
.
Post not yet marked as solved
0 Replies
612 Views
When Running RoomPlan in a Debug session Pausing in the middle of the job to look at the data structures being carried it was noted that there were no Polygon Edges nor Polygon Corners in the data set. When are they created? One would think that they would be created when the Polygon was so they could be joined up when the sibling surfaces came into existence. roomDataForProcessing RoomPlan.CapturedRoomData keyframes [Foundation.UUID : RSKeyframe] 24 key/value pairs coreAsset RSAsset 0x0000000281ebbd20 baseNSObject@0 NSObject _isCaptured bool 0x0000000000000000 _floorPlan RSFloorPlan? 0x00000002820e69a0 baseNSObject@0 NSObject groupId unsigned int 0x0000000000000000 ceilingHeight float 0x000000003fecf048 floorHeight float 0x00000000bf2557a1 rotationAngleAlongZ float 0x0000000000000000 walls __NSArrayI * 5 elements 0x0000000280847f00 [0] RS3DSurface? 0x0000000102819a20 baseNSObject@0 NSObject isa Class RS3DSurface 0x010000025bdbf4b9 type unsigned char '\0' individualUpdate char '\x01' merged bool false removed bool false confidence float 0.98292613 groupId unsigned int 0 wallStatus int 1 parentWallStatus int -1 offset float 0 depth float 0 depthWeight float 1 identifier __NSConcreteUUID * 0x28198e2a0 0x000000028198e2a0 parentIdentifier id 0x0 0x0000000000000000 room_id unsigned long long 0 room_class_idx unsigned long long 0 multiroom_all_idx unsigned long long 0 storyLevel long long 0 [1] RS3DSurface? 0x0000000102819b70 [2] RS3DSurface? 0x000000010282a620 [3] RS3DSurface? 0x000000010282a770 [4] RS3DSurface? 0x000000010281c250 doors __NSArrayM * 1 element 0x0000000281e4d200 windows __NSArrayM * 0 elements 0x0000000281e4cf60 openings __NSArrayM * 1 element 0x0000000281e4d140 opendoors __NSArrayM * 0 elements 0x0000000281e4f8d0 objects _TtCs19__EmptyArrayStorage * 0x207680b60 0x0000000207680b60 curvedWalls __NSArray0 * 0 elements 0x000000020be723b8 roomTypes __NSArray0 * 0 elements 0x000000020be723b8 floors __NSSingleObjectArrayI * 1 element 0x00000002850c6e00 curvedWindows __NSArrayM * 0 elements 0x0000000281e4c750 curvedDoors __NSArrayM * 0 elements 0x0000000281e4d260 wallLists id 0x0 0x0000000000000000 storyLevel long long 0x0000000000000000 _mirrorPoints __NSArray0 * 0 elements 0x000000020be723b8 _version long long 0x0000000000000002 _rawFloorPlan RSFloorPlan? 0x00000002820e6640 error Error? worldTrackingFailure self RoomPlanExampleApp.RoomCaptureViewController 0x0000000106811c00
Posted
by mfstanton.
Last updated
.
Post marked as solved
5 Replies
937 Views
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.
Posted
by ARNewbie.
Last updated
.
Post not yet marked as solved
0 Replies
438 Views
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!
Posted
by mattsonic.
Last updated
.
Post not yet marked as solved
0 Replies
507 Views
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.
Posted
by mfstanton.
Last updated
.
Post not yet marked as solved
0 Replies
547 Views
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
Posted
by mfstanton.
Last updated
.
Post not yet marked as solved
1 Replies
895 Views
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.
Posted
by ja_tectus.
Last updated
.
Post not yet marked as solved
1 Replies
585 Views
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.
Posted
by mfstanton.
Last updated
.
Post not yet marked as solved
1 Replies
758 Views
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!
Posted
by Tarruk.
Last updated
.