After I align my images, I usually add 2 known control points to define a distance via a constraint. Then I click on Align again, the distance is applied and everything is fine up to this point. When I make a preview reconstruction mesh and export it, it imports into 3dsmax the exact same way as it looked in RealityCapture. Orientation and world 0 are where they should be.
Now if I use the “define ground plane” tool to orient my scene the way I want, make a new model and export it, the imported model in 3dsmax is completely off and not at all where it should be. I have done the same thing for several months on dozens of models so far, so I doubt that I do anything wrong now. I have already reset all the settings, deleted every cache and program folders I could find but it’s still the same issue.
The realityCapture scene on the right, the imported mesh on the left.
This is a serious issue and I desperately need help with this problem since it screws up our pipeline at the moment.
Did I understand it correctly that you used this workflow before and it worked, only this last project doesn’t work?
Because so far I was convinced that defining the ground plane is only an internal adjustment of the way the object is displayed. I just checked and with a geo-referenced project the coordinates don’t change when I re-define the ground plane, which seems to confirm that it’s only changing the display and not the orientation of the model in “real” space…
Yes, it definitely did work before. The model as seen on the right appeared the same way when imported into max (or any other app). I assume that this changed with the very last update of RC but I can’t roll back to an older version to confirm this since I’m using the steam version.
It also “works” now, in the sense of “doing something”, it’s just not correct. The model was originally rotated about 40° (which I corrected), so the rotation itself seems to export fine - it’s just the translation that is off now.
If it’s any consolation, the “normal” software cannot be rolled back either - there’s a two week (or so) period of overlap and after that you need to update as well.
Back to topic:
I find it weird that it worked before since changing the ground plane was never intended to be a permanent transition - there is the button “Reset Ground” after all.
A workaround would be to transform your existing CPs into GCPs. Since they seem to be on the floor and you know the distance, you can establish their coordinates. Now create a third GCP on the floor, use the “is” coordinates and paste them into the “should” fields. In theory, you only need to hit “Update” to re-orient the model.
Yes, that’s also the “backup plan” I found after googling around. Unfortunately I only have two known points at the moment. From what I understand, shouldn’t copy&pasting the “is” to “should” coordinates clash with the known distance? One of the two known points should be world 0, the other being “x units” away in one axis. So the third point is somewhere on that plane with only one known coordinate of y (height) being 0.
Since manually positioning is enough precision for what I need and since it worked so far I didn’t intend to make use of this - it’s also takes a little longer to set up so this is not quite the method I prefer
I also still have to test it though, can’t say yet if it works in export.
If you deactivate the constraint, there should be no clash - and even if not, as long as the coordinates result in the same distance, there is no contradiction.
I’ve never done it quite like this before, but im confident you wouldn’t need to know the precise coordinates of the third GCP but you could take a guess first. If it’s on the floor, you know z is 0. The rest might be possible to approach by trial and error - RC will give you the remaining errors.
Ok, I tried the ground point control method and was able to figure out the third point. I first aligned with just the 2 known ones, that gave me one additional coordinate of the third point so I had to just guess and refine a few times until I got the exact position of the third coordinate. Not my preferred method but it works. Thanks a lot for your help Götz, very much appreciated
I still would love to know if that behavior is a bug or intended and thus a “fix” (for how it was before).
changing the ground plane matters when you export your non-georeferenced model with the Grid plane option. It should behave like this in the previous version as well as current one.
In your previous projects, did you rotate the ground plane as well? Did you use XMPs in the previous projects? Do you still have those projects? Can you please check if the component is marked as georeferenced?
Oh, yes! There is indeed an entry for “geo-referenced: true” in the alignment report.
I remember trying something with xmp from this tutorial https://www.youtube.com/watch?v=0hTyEhbmjFE&feature=youtu.be but it didn’t quite yield the results I wanted so I abandoned the idea. I didn’t know this is about geo-referencing.
I had a hunch that this might have been the issue at first but that’s why I reset all my settings (with the shift + startup method) and also deleted anything RC related I could find. There must be something else then somewhere. How do I get rid of it?
Regarding your other questions: yes I did rotate the ground plane in my previous projects and no, I don’t have the project where I tried the xmp stuff anymore.
If the XMPs are still saved in the same folder as images, then RC is loading them automatically. You can delete them and load the images to the clear project and reconstruct again. In such case, your scene will not be georeferenced and you will be able to export only to the grid plane coordinates. In such case, position of the model against the grid plane matters during export.
If you have a fixed camera setup and you want to make sure, that all of your models will be exactly in the same position and in the same coordinate system, you can place ground control points defining your own coordinate system and use either flight log (for slightly bending camera setup) or XMPs as locked (for completely fixed camera setup). In this case you need to export to Project output in order to preserve the same position of the model. In such case please follow these YouTube tutorials:
The problem is there are no xmps in the folder with the images. I checked, no hidden files either, only a .db file after I loaded images into a new project. The project folders also change with every project so I couldn’t have had old xmps lying around somewhere.
However, after tracing the steps from the first video I found the “Metadata (XMP)” button and opened it. The “Camera export mode” was set to one of the export modes. I then set it to “do not export”, closed the dialog made a new project and voila, the models are not geo-referenced anymore and export the way they did before.
So despite resetting all settings, removing all RC files from my disk (the ones I could find at least), it still kept this setting somewhere. This should definitely be resetted with all the other settings.