088: Map an object with CamSchnappr

Hi Vincent,

I’ll try to get to this, this is a really good point.
Generally I find that in especially complex networks you are gaining a bit a look into somebodies thought process and that might not always be straight forward.

cheers
Markus

does anyone have any tips on getting a virtual scenario going like the one that Archo-p was talking about?

I have been trying to combine camschnappr and the perspective pre-viz tutorial from the mutek meetup without much luck…

would be really cool to be able to test this out without a projector ect…

thanks!

Anybody else been having an issue where every point suddenly becomes selected when clicking around?

I’m fixing it by throwing in a deselect all button and a lock selection button but I figured I’d report the issue anyways.

Same. I’ve had this issue for a lot of builds. My solution has been to use a delete SOP on my model to select the 6 or so calibration points then deselect the few points individually when CamSchnappr funk’d out

Hey Markus, how would we go about enabling these wide angle fixes?

Is there a script within CamSchnappr that I can run to reset all points?

Currently I just cut the text out of the Geometry SOP area, push enter, and paste it back in.

I’ve tried scripting this but for some reason it doesn’t work. I’ve also tried executing the script attached to the field (after removing it from the DAT Execute) and it seems to have no effect.

Here’s the script:

One thing I don’t quite understand is why “.val” is used when changing parameters. I was under the impression that this was not needed.

To deselect all points for the full selection issue put this script in your CamSchnappr component.

selectedPoints = op(‘pointDisplayPicking/selectedPoints’)
for i in range(selectedPoints.numRows):
selectedPoints[i,1] = 0

Is anybody getting conversion from string to float errors with camschnappr in build 20560?

EDIT:

I think theres a rounding issue with the latest build still…I know that Rob changed something recently and that may have broken CamSchnappr, I’ve changed the rounding in pointDisplayPicking/table[3-4] to 5 from 10 and it seems to now not return null values. This has seemingly fixed solver in that it’s not erroring although fillProjMat has a division by zero error.

EDIT AGAIN:

It’s weird but removing the comments from the DATs has removed any division by zero errors…I guess this is just a DAT error refresh thing.

So yeah…set 10 to 5 in those DATs and it’ll work splendidly again.

Scripts errors stay persistent on DATs now, allowing you to see if a DAT has errored sometime in the past (since it’s hard to know with scripts running every frame). Editing the DAT will clear the errors. So the script error is still there, it just doesn’t happen every time the script executes it seems.

It’s just happening when I have less than six points selected…so the only major error was that rounding issue. CamSchnappr is working perfectly since I changed that.

Hm, maybe a good approach would be to use a facet SOP and consolidate the points before passing the geometry on to CamSchnappr. An alternative approach could be to add a parameter that let’s you control the rounding factor.
Alternatively you could also scale the geometry.

Ahh that’s exactly whats happening, I’ve passed the wrong node in.

I am having the same problem

I’m noticing this issue even after changing 10 to 5 in the two DATS.

Check that your geometry is consilidated, add in a facet sop and select consolidate points fast. Then plug that into camschnappr and see if it fixes the issue.

Just looking into the inner workings of CamSchnappr in order to modify it for some other uses.

While checking out the forum thread I noticed a couple of questions about how to enable the wide Angle distortion fix flags ie. CV_CALIB_FIX_K1 etc… in the calibrateCamera function.

It looks like the flags are set to False by default but they can be enabled with fixK1 = True , fixK2 = True and fixK3 = True

I haven’t tested them with my super short throw projector yet but they are able to be set.

cheers
Keith

I can’t seem to figure out how to stop the “select all” bug from happening. It seems like people believe that it has to do with the number of points? How many points is too many?

It seems like it’s prone to happening after i’ve first connected a piece of geometry, even after changing the rounding parameters. I tried running the de-select all script posted previously, which as expected clears all the selected points. Interestingly, after running the script, the problem doesn’t re-emerge, whereas typically it happens after a few clicks. Perhaps some sort of initialization bug?

Hello guys,

I can’t understand why but I can’t use CamSchnappr on a pyramid. When I select my orange point and put it on my physical object, I press ESCAPE and CamSchnappr find script’s errors.

Any idea?

Thanks :wink:

Hi Julien,

can you describe what you are trying to do and what TouchDesigner version you are using? If you have sample files that let us reproduce the behavior, that would be great too.

cheers
Markus

New CamSchnappr with some changes:

  • saved out with TouchDesigner088 Official build 25220
  • removed script errors by adding in checks that prevent it from trying to solve if not all datasources have all necessary data.
  • Added “Deselect All” button to quickly deselect all points
  • When removing all points, the last one now is deleted reliably from the second screen

Let me know of any other issues.

Cheers
Markus
CamSchnappr.zip (283 KB)