UV Unwrapping from CGI Model?

I’ve done that a lot in the past. (3D track, put a camera above a surface ti output the texture and reproject with that same camera later).
But it is a workaround and we definitely could do better and faster with a built in option…

Better still. Hand the shot to a CG artist and ask them to track the Geometry and supply it with an unwrapped UV map :laughing:

This may sound bonkers but… do you know that Nomad App on iPad does have unwrapping, right?

Give it a spin… and let me know if it worked for you.

I think that the request isn’t to have UV unwrapped geo (as most geo provided in Flame has UVs already).

The request is to be able to project onto some geometry and then UV unwrap the projection onto a flat surface so that it can be manipulated before being wrapped back onto the geo.

2 Likes

Apologies, I did misunderstood… ok.

What you are asking then is having a UV editor where you can paint or even manipulate UVs as well. You won’t need any wrapping back at all, just edit in 2D space like you would do if you edit the textures in Photoshop or Mari.

If I am understanding you right then yes.

The idea is you create 3D geometry to match an object that was shot for real in the main plate, be it a cup or a car or a face or whatever. Then you geometry track that to match the actual plate shot. So the UV unwrap would work as if you were projecting the plate onto the tracked geometry. You are essentially extracting the UVs from the shot plate that match your tracked in geometry.

So you would get a flat static surface that you could then treat in whatever way you needed to, be it adding intricate patterns on the cup, adding/removing a scratch on the side of the car, adding/removing a tattoo on a face (using the examples from above). Then you would take that and rewrap it back onto your tracked geometry. As you are simply reversing the process, it should line up perfectly, including any 3D perspective shifts.

Essentially this is a 3 dimensional version of the classic 2D approach where you stabilise a shot, paint/comp onto the stabilised shot then invert the stabilisation.

I hope that makes sense. I can be crap at explaining concepts at times.

1 Like

This is exactly the way I’d want to use it.
That would be super nice tool.

We have managed to make it work with the great batch setup found on this forum where basically you substract the geometry uv from an untouched uv and use the result in a pixel spread to unwrap the geo texture.

It works nicely but with limitations and it is not as intuitive as a real tool designed to do that.

PFTrack is the best tool for live action image modelling and texture extraction.

See starting at 32 minutes in for PFTrack matchmove, image modelling, texture extraction, exporting everything as an FBX, and bringing that into Flame to paint on a textured geo seen through our PF camera.

2 Likes

I wonder how many threads on this forum end with the solution “do it in some different software” :joy:

You can do the geometry track in Syntheyes as well. I should look into whether it can provide unwrapped UVs. You can do it Blender using Keen Tools too.

I actually think that this will be one of those, since you can do it in other applications it isn’t a priority for Flame, but since it is such a hugely popular request on Flame Feedback and there are so many use cases for it then it is worth doing.

One big use case for me is using it for object addition/removal on a far from an anything but flat ground plane with a camera move, such as shot from a drone. Due to big parallax and a non-flat ground plane it’s not exactly great using the technique such as the classic Grant Kay one. However, if you create a geometry mesh from the point cloud of the ground plane, then you could UV unwrap that which would then make the end result better and faster. You could use that workaround for it but really, it should be faster and simpler than that.

This example above is something you could do completely inside of Flame without an external geometry track if there was a UV unwrap option within Flame. Camera track inside Flame. create the mesh from the point cloud, in theory unwrap the mesh UV, do your work then rewrap it onto the same mesh for a perfect result. If this is possible within Flame then please, please enlighten me as I’ve come across this particular issue a few times now and it has required a more complex cleanup due to the uneven ground plane. I do have Fusion Studio and had a quick play around doing this and it has the tools so will likely do it in that software in future unless a tool becomes available in Flame.

Someone please humiliate me here and tell me I can do what I am trying to do inside Flame already!!

We call this a Chameleon shader, you project in Camera space but bake the pixels in UV space exporting a sequence of images on a per-frame basis, so you can manipulate them at will. Then, you simply texture the object using the 2nd UV set instead of the camera-generated ones.

This is trivial if you have a baking tool in place, meaning, a scanline renderer like Nuke or any 3D package have, but I suspect that is the missing link in Flame.

And yes, this should be in the arsenal of tools, totally get it.

2 Likes