We have an App that does something similar to RoomPlan. We use SceneKit to draw all the wall lines. We have noticed that RoomPlan has trouble detecting walls around 7 inches or shorter. Our app has tools to deal with this. It seems the difference in time to capture the walls of a room between our app and the RoomPlan demo app is negligible. But we could save time in our app with auto detection of all the other things like windows, doors, openings, cabinets, etc.
Are the lines you see drawn in the RoomPlan demo App SCNNodes?
If so will you ever be able to call .addNode() inside the RoomPlan framework?
If not, does RoomPlan use SpriteKit to draw?
We use an ARSCNView to keep track of all the lines in our app. Changing that member to an instance of RoomCaptureView seems like a non starter.
Starting a new RoomCaptureSession when we're ready to scan for objects other than walls wipes all the wall lines we've previously captured.
Thanks,
Mike
Post
Replies
Boosts
Views
Activity
I'm trying to use data returned from the RoomCaptureSession delegate to draw four corners of a door in SceneKit.
The CapturedRoom.Surface class has Dimensions and Transform members.
I was told in the WWDC 2022 RoomPlan Slack lounge:
"You can use transform and dimensions parameters to draw lines. The 4 corners can be inferred from those 2 parameters: the first column of the transform is the "right" vector, and second is the "up" vector. The fourth column is the position of the wall/door/opening/window/object Combining those unit vectors with the dimensions vector will give you the corners."
So I think this is a basic vector question. I'm not sure what is meant by "Combining those unit vectors with the dimensions vector". I've tried a few things, but I'm not sure how to go about this.
I can't post a video I don't think. But in the screen shots, I'm sightly making a circle with the phone and the green lines will disappear and then reappear. Those green lines are drawn via .addChildNode().
We're using RoomPlan to detect cabinets(.storage), and then we outline the cabinets with SCNNodes. We have other methods to capture cabinets that don't use RoomPlan. And the lines for those cabinets do not wink in and out.
Perhaps there is a bug with visibility culling?
We're pretty dang sure the nodes are not disappearing because we are calling .hide() anywhere.
Perhaps object detection from RoomPlan running in the background is interfering?
I'm just curious if anybody knows if under the hood RoomPlan is applying any sort of sorting to the CapturedRoom.walls array. Like does RoomPlan try to sort the walls so they complete a loop? Or are walls simply appended to the back of the array as they are detected?