An intriguing hint from http://steamcommunity.com/games/250820/announcements/detail/117448248511523471 :
Something “… that’s proved incredibly useful is [an] ability to project photos on to another mesh. I’ve cleaned up a number of rough architectural scans by essentially tracing around the noisy geometry in a modelling program, then reimporting the super-clean mesh … Since I kept the scale and alignment the same, I could get it to reproject the photos on to my new UVs - resulting in low-poly, super-clean models preserving all the light and texture present in the photos. (Things which can scan very badly, such as featureless flat surfaces, can be the easiest to model!)”
It’s the bit at the end - “… featureless flat surfaces, can be the easiest to model”.
As I’m really struggling to get useful interior photos where walls are smooth painted plaster, is there an alternative approach here? Is it do-able in RC?
I don’t actually understand what he means - could anyone interpret with emphasis on ‘flat featureless surfaces’?
I think it should be possible, but it depends on many factors I suppose.
What he means is that flat surfaces like your walls which are close to unicolor will not give any photogrammetry software any distinct texture that can be identified - hence featureless (feature = source for tie points).
I understand that - it’s what I’ve found. That’s why this guy’s suggestion seems valuable - an approach where “… featureless flat surfaces, can be the easiest to model”. Sounds great! But what exactly is he suggesting? I don’t understand that bit.
Often a flat featureless surface - such as painted interior walls fail to be modeled properly in photogrammetry apps as we have all likely found at some point.
Either you get a hole and no data, a very bumpy surface when it is supposed to be smooth, or part of the wall will be rendered at the wrong x/y - like a huge bulge/distortion.
They are suggesting to accept that restriction, then manually edit the mesh in another application of your choosing. delete the incorrect geometry and replace with a simple plane where the flat surface should be.
Once done, re-import the model back into the photogrammetry application, and have it reproject the textures. your wall will then be correctly textured with the gradients of the lighting of photos taken and the final model will be as required.
Basically you need to cut out the damaged area and replace with good manually. A plane (wall) is the easiest to model as it is only a couple of polygons.
Another flat featureless surface could also be a mirror or window, these could be fixed in the same manner.
The Import model option is on the far right.
You said to elaborate on flat, featureless surfaces - now I’m not sure I understand what you mean!
He is talking about building (or improving) some of the geometry (as in adding surfaces) manually with another software, then re-importing it into RC…
Great! makes sense that I can get into.
Let me ask - would this mean that interior photography could simply ignore the problem of capturing flat plaster surfaces (also perhaps window glass), knowing that they will all be replaced with modelled planes?
That would be a relief, as my experimentation has been leading to extremely close-up multi-photography to find just how many pixels per mm of wall will adequately reveal the brush strokes of the paint finish. Dreaming mad schemes of how this could be achieved fast enough to be practicable.
So now maybe I would only need to capture the well-textured, more shaped items in a multi-room inhabited interior, fewer photos from a more normal distance.
In theory the above process works well, in reality it can be a struggle. As rarely do you actually have a plain simple wall. Things like light fittings, furniture etc are often against the wall, making the post production repair a fiddly exercise. As your wall is now a complex shape.
Being competent in your 3D model editing package helps a lot.
- A laser scanner. solves the problem and creates another financially.
I agree with ivan. I never tried remodelling for exactly that reason. If you are quick at doing that stuff then it is a viable option, otherwise a whole new battlefield…
Another approach would be to try and get texture on the wall that has none to begin with. One option would be by projecting a pattern onto is, another to stick stuff on it, either lots of small stickers or larger things like newspaper. That would mean two sets of images though - one for the geometry and the other for texturing.
Great, practical replies, much appreciated.
Being someway short of being able to ‘try it and see’, more naive questions arise:
would a created plane have to be precisely tailored to its perimeter, or could it be oversized, to kinda slide behind the perimeter elements that it meets and/or freestanding furniture? to continue uninterrupted behind that light fitting? or a multi-pane window could get a modelled single plane of glass which crashes through each glazing bar?
how would a created plane be accurately located in space, when perimeter elements seem to be confused by adjacent unintelligible surface, even if well textured in themselves? Even an ideal perimeter element gets fuzzy where it meets a flat plastered surface, so does not show a reliable edge to which the new modelled surface can be aligned or even ‘snapped’ (in CAD).
could the above be done in point cloud enabled vector-based CAD - AutoCad 2013+, Microstation etc that I’m familiar with, or only in amorphous shape-making pixel-based 3D software?
as there’s a low limit to the number of scan stations per room, laser scanning leaves a great deal of detail uncaptured, compared with the multi-camera potential of photogrammetry. Esp in an inhabited room with lots of stuff - what do laser-scan surveyors do about that? Maybe demand that the room is emptied?!
I think it will not work like that because RC expects a mesh, which should consist only of surfaces which are edge to edge.
The observation you describe is caused by the fact that RC does not have enough features to calculate the proper distortion parameters - if you have enough “good” images in the set, you can overcome that by exif grouping to a certain extent.
It depends if you want the room to be represented full or empty. If you only want to do a line drawing from the scan, it doesn’t matter if stuff is in the way as long as you get enough of each feature that you want to draw. And RC is designed to do exactly what you say laserscans lack - fill in the holes and provide a high quality texture. In theory, one scan is sufficient if you can cover everything you need.
I think the rest moves a bit far from RC so it should better be discussed in a different forum.
Thanks Gotz, helpful as ever.
!) and 3) I understand - thinking hybrid! In CAD, surfaces, vector-based plane shapes, and solids can be extend/trimmed together and can be inter-converted.
- a bit off topic but I see much talk of exif groupings - does that mean manual pre-sorting of the photo set into groups which share exif data which is identical for all exif categories? Or indentical just for certain optical catgories - f-stop, shutter speed, ISO, 35mm-equiv zoom, portrait/landscape, focus distance, flash or not - or what?
Exif grouping has been discussed excessively in the last few weeks. Yes, it is meant for grouping images so that they use an average distortion model. That’s practical to avoid false results, helps with alignment and can improve situations like yours. It can be done manually or automatically.
this is basically saying you model it by hand. it could be done in 3d cad software. but you’d be better off in something else that you can do proper uv’s for at the same time.
you can take your current rc model export and use that as a base and then trace over it.
this requires knowing some 3d modelling software fairly well. which i would assume a lot of people here have already.
you could put in as much detail as your prepared to model here, or use a combination of this and the photogrammetry model.
once done you re-import it to rc for texturing (making sure you copy+rename the rcinfo file so everything lines up).
though it sounds like you would want to apply the new texture to the imported model rather than the newly exported one from rc. since it will convert any quad’s to tri’s.
All this sounds a bit like a complex process, using 3rd-party tools to do what would be much better built into RC. I mean a simple way of indicating which surface is flat by clicking on the 4 corners and clicking on a button called Flatten Surface. This would re-texture the flat surface then automatically. Feature request (with high prio for me).
I tried the Simplify Tool, but it makes the corners still not straight, and it made an incorrect texture map, and it still wasn’t completely flat. And it was a lot of hassle to place a cube around the surface.
hello everyone, please post your feature requests (also) here: https://support.capturingreality.com/hc/en-us/community/topics/115000321889-Feature-Requests
it will help us a lot, thanks