forked from bartvdbraak/blender
Angle Based Flattening:
- There's an option to enabled ABF in the UV Calculation panel. - ABF works with seams, pinning, live transform etc. UI wise it's pretty much the same as LSCM. - ABF favors low angular distortion over area distortion, much like LSCM. It does however not have the tendency to "collapse" under high stretch, which basically means that it will be able to handle complex charts without pinning. - ABF does however have on serious drawback: it is sensitive to degenerate geometry, especially very small angles. I'm working on this, but it seems to be quite difficult to improve the situation. There's still a bunch of ideas left to try, but I'll just commit this now as is. If ABF fails, it will fall back to LSCM, and there will be a warning print in the console. - This implementation has the matrix tricks from ABF++ also. The second part of ABF++, simplification before unwrap, is being worked on. The current - ABF is about 3-4 times slower than LSCM, which was to be expected. For live transform however, once the initial computation is done, it's just as snappy as the new LSCM code. Results are quite nice though: http://users.pandora.be/blendix/snurgle.png http://users.pandora.be/blendix/snurgle_flattened.png You may recognize the Snurgle model by Colin Levy there.
This commit is contained in:
parent
469557f625
commit
e46de9feb5
@ -3877,7 +3877,7 @@ static void editing_panel_mesh_uvautocalculation(void)
|
||||
row-= 4*butHB+butS;
|
||||
|
||||
uiBlockBeginAlign(block);
|
||||
uiDefButS(block, MENU, REDRAWBUTSEDIT, "Unwrapper%t|Conformal%x0|Conformal (Old)%x2",100,row,200,butH, &G.scene->toolsettings->unwrapper, 0, 0, 0, 0, "Unwrap method");
|
||||
uiDefButS(block, MENU, REDRAWBUTSEDIT, "Unwrapper%t|Conformal%x0|Angle Based%x1|Conformal (Old)%x2",100,row,200,butH, &G.scene->toolsettings->unwrapper, 0, 0, 0, 0, "Unwrap method");
|
||||
if (G.scene->toolsettings->unwrapper != 2)
|
||||
uiDefButBitS(block, TOG, 1, B_NOP, "Fill Holes",100,row-butHB,200,butH,&G.scene->toolsettings->uvcalc_flag, 0, 0, 0, 0, "Fill holes to prevent internal overlaps");
|
||||
uiBlockEndAlign(block);
|
||||
|
Loading…
Reference in New Issue
Block a user