I wanted to ask a few questions about WrapX usage, for getting better wraps.
There were once relaxing of wrapped models. I couldn’t find it in functions page:
-Is it still there, somewhere?
-Does the relaxing work using the scanned model or is it just a regular vertex relax that we can do in Blender for example?
I’m batch wrapping full body models using the Batch Wizard scripts. If I remember correctly those scripts did require 2 set of points for both stages before (rigid and non-rigid) but that looks like it is not the case anymore.
-Does that mean if the rigid alignment is looking good (what is good enough in here) we can get a quality non-rigid aligned model with just 3-5 points on a full model?
I understand that the “rigid alignment” is basic transformation of target mesh so it doesn’t require a lot of points.
-Is it better to use lots of points while doing the non-rigid?
-Is it OK to lay points roughly or do we need to be precise? Any tips to get better results?
Since WrapX needs all the points to be presented on both models and it does the rough alignment of 2 models:
-How about WrapX automatically adds all points to the target model (roughly) and we only edit their placement on the target model.
-Is there a way to edit just one of the points instead of doing all the points all over again?
I’d like to use the code editor to disable lines (#) in the Config files.
-Is it possible add a shortcut key or a command that adds # to the beginning selected lines?
I’m very much a newbie here but I have certainly been using the same set of points (outputted & read from a txt file- wrap.savePoints/wrap.loadPoints) for both rigid and non-rigid registration.
The results are fine.
As a matter of fact I spent a very long time getting around 50 corresponding points on my original pair of objs (scan & base) but have found I get much better results with only 3!
WrapX obviously has the power to extrapolate scan shapes better I do manually!
Best to run single lines of code saving your points as you go and just amend and re-save as you go.
-Is it still there, somewhere?
-Does the relaxing work using the scanned model or is it just a regular vertex relax that we can do in Blender for example?
The relaxing is only available in Wrap 2.3 as Brush Tool. It is a combination of regular relaxation and projection onto the scan.
-Does that mean if the rigid alignment is looking good (what is good enough in here) we can get a quality non-rigid aligned model with just 3-5 points on a full model?
Yes, in general for rigid alignment 3 points (being placed carefuly) are enough. The number of points for non-rigid registration depends on how similar a basemesh and a scan are. If they are (scale matches, eyes are open, mouth is closed on both models) than yes, you may go with 3-5 points. If for some piece of the scan the difference is big (closed mouth vs open mouth) it will require additional points around the mouth for better quality.
-Is it better to use lots of points while doing the non-rigid?
-Is it OK to lay points roughly or do we need to be precise? Any tips to get better results?
Non-rigid registration requires precise point placement. For neutral scans I use 5-20 points. For most complex expressions it can take 50-100 points. As for faces that will be changed in Wrap3.0 and optical-flow solution.
To get better quality try to play with params of wrap.nonRigidRegistration (http://www.russian3dscanner.com/docs/WrapX/wrapFunctions.html#wrap.nonRigidRegistration)
change initialRadiusMultiplier to 0.1 - 1.0. The lower the more control nodes will be created in last step of wrapping, the more accurate the result.
Making initialRadiusMultiplier higher will make less nodes and will lead to more robust wrappign but will ignore small details.
Play with smoothnessFinal in range 0.1 - 0.3. The higher the harder for the algorithm to ‘bend’ the model, i.e. the more robust the result, the more small details will be ignored.
To put it simple:
For noisy scan to make wrapping robust make it initialRadiusMultiplier = 2.0
smoothnessFinal = 0.2
For clean scan and dence basemesh to make wrapping accurate set: initialRadiusMultiplier = 0.5
smoothnessFinal = 0.1
-How about WrapX automatically adds all points to the target model (roughly) and we only edit their placement on the target model.
Great point! That will be available later in Wrap 3.0.
-Is there a way to edit just one of the points instead of doing all the points all over again?
That will be changed in Wrap3.0 but for now you can delete points with Ctrl+LMB. If you set 50 pair of points and found out that 21st point is in wrong position, you can click Ctrl+LMB once on 21st point on left model and on the 21st point on the right model. They will be deleted and all the point numbers higher than 21 will be shifted down. Then you can add the point pair again.
-Is it possible add a shortcut key or a command that adds # to the beginning selected lines?
Great point. We will try to fix it during next week.
Thanks for your replies.
Saving your points.txt progress into new files might help while dealing with lots of points.
I’ll also try Andrew’s tips on better wrapping.