Home Technical Talk

Modo - Copy subd edge weights to new weight map?

OK, so a post I found on another forum got me to thinking about a way to work with Modo that I hadn't considered. You could work with edge weighting for the development of your mesh. At the end though, you'd have to add all the supporting edge loops because edge weights won't transfer to other packages.

HOWEVER ... Someone suggested that you could take the edge weights that you used in the subd phase, select the edges that have edge weight on them using the Statistics panels, and then bevel them all using the weight map as a falloff.

Brilliant!

My preliminary testing shows that this should indeed work but I'm having a problem with copying the edge weights out of the subdivision weight map into a new weight map. I can't get Modo to do anything, copy/paste just ignores me.

Can I do this easily? Anyone know? Did anyone read all of that and is still with me? :)

Replies

  • Farfarer
    Options
    Offline / Send Message
    Hmm, a neat idea but I can't find a way to copy/paste the data, though :/

    Not even through the vertex math tool, which lets you pass data from pretty much any vertex map data to any other vertex map. Seems the Subdivision Weight map is a special thing that isn't transferable.



    Freeze geometry? :(
  • WarrenM
    Options
    Offline / Send Message
    Seems the Subdivision Weight map is a special thing that isn't transferable.
    God, I hope that isn't the case ... that would be super fucking lame.
  • Farfarer
  • WarrenM
    Options
    Offline / Send Message
    31185409.jpg

    I haven't given up hope yet. Not yet...
  • Farfarer
    Options
    Offline / Send Message
    Just tried to script it.

    The issue is that regular weight maps are vertex maps, and the subdivision weight map is an edge map.

    So I can query the values from the subdiv weight map, and technically apply them to another weight map but it won't take because the weight map wants them applied to vertices, not edges.


    vmap.pl
    #perl
    
    my $weightName;
    my @vmapSelected = lxq("query layerservice vmaps ? selected");
    foreach $vmap (@vmapSelected) {
    	my $vmapType = lxq("query layerservice vmap.type ? $vmap");
    	if ($vmapType eq "weight") {
    		$weightName = lxq("query layerservice vmap.name ? $vmap");
    		last;
    	}
    }
    
    lxout("Weight: $weightName");
    
    my @edgeList = lxq("query layerservice edges ? all");
    foreach $edge (@edgeList) {
    	lx("select.vertexMap $weightName wght replace");
    	my $weightVal = lxq("query layerservice edge.creaseWeight ? $edge");
    
    	my @edgeVertList = lxq("query layerservice edge.vertList ? $edge");
    
    	lxout("Edge $edge - @edgeVertList[0] , @edgeVertList[1] -  SubD weight value : $weightVal");
    
    	lx("vertMap.setEdgeWeight @edgeVertList[0] @edgeVertList[1] $weightVal");
    }
    
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Just to see if im understanding you correctly, what you would want to do is to have a tool to select the hard edges and bevel them before transferring to another package?
  • WarrenM
    Options
    Offline / Send Message
    Yes, BUT since all the edge weights won't be the same, it needs to scale the bevel to match the strength of the edge weight ... I know how to select all weighted edges and bevel them using the Statistics tab, but that's not quite good enough.
  • WarrenM
    Options
    Offline / Send Message
    Fruitless. :-/ I even dug up a guy from an 8 year old thread I found where he was talking about a solution for this but apparently whatever he had discovered at that time is broken (or fixed, I guess) in current Modo.

    So it's a no-go unless I can script something up myself. That will ... take awhile.
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Ah. But I guess even if you somehow could have a solution that made different sized bevels depending on weight it still wouldnt yield perfect results since the weighting in itself smoothes a bit differently than normal subdivision with support edges : / But I only really use either hard or smooth edges, never anything in between really.
  • WarrenM
    Options
    Offline / Send Message
    That's interesting. Maybe I should just try and model like that then.

    I guess I like the freedom of the edge weighting system - meaning that if I change my mind about an edge, I don't have to remove a bunch of edge loops. I just click and change the weighting.

    Might be a workflow flaw that I need to work out more than anything else. :P
  • Goobatastic
    Options
    Offline / Send Message
    Goobatastic polycounter lvl 8
    Kind of new to modo so might be asking something that has already been resolved but did you ever find a way to bake the edge weighting to a mesh?
  • WarrenM
    Options
    Offline / Send Message
    No, nothing ever came of this. I just learned to live with it. :) And since I'm self employed now, I really don't care. I don't have to share files with anyone...
  • Goobatastic
    Options
    Offline / Send Message
    Goobatastic polycounter lvl 8
    Ok cheers for reply WarrenM. Seems like something that would be very useful especially if you want to move into zbrush etc.
  • WarrenM
    Options
    Offline / Send Message
    Well, you CAN move to ZBrush reasonably by freezing the geometry before exporting it to ZBrush. You lose any control over the topology but if you're going to be sculpting, you probably don't really care anyway.
Sign In or Register to comment.