Home Technical Talk

Shrinkwrapping lowpoly to highpoly with linked vertex positions, is this a thing?

OblongUV
node
I'm making game models for a hobby project. Some of these models is hard-surface armor. I'm making some of these armors different proportions to fit different sizes. The problem is, even with blender's shrinkwrap modifier the hard-edge outlines of the lowpoly will "slip off" the highpoly and they have to be meticulously reprojected again to the armor with the new proportions. Some suggestions I've seen is using the lattice modifier, but lattice is oftentimes not precise enough, the only way is often to make positional changes to the highpoly model.

It would save me so much time if I could just shrinkwrap the lowpoly to the highpoly, and the lowpoly vertices will just remember what vertices they were originally shrinkwrapped to on the highpoly and hug them to death. When asking around if there is a way to do this in any 3d application at all, I've come up short. Is there a thing like that anywhere at all? If not, why? Is it a technical limitation, would it be too performance intense somehow, or is it simply not as useful as I imagine it would be and my case is too specific? I feel like something like that would be quite useful generally speaking, but my perspective might be limited. 

Replies

  • dimwalker
    Options
    Offline / Send Message
    dimwalker polycounter lvl 15
    If I understood you correctly, you would need a script which finds nearest HP vertex for each LP vertex and then moves LP vertices to corresponding positions for other HP variations. Assuming only proportions change between different HPs, otherwise indices might change.
  • Alex_J
    Options
    Offline / Send Message
    Alex_J grand marshal polycounter
    not sure about blender but in maya you can use a blendshape to match vertex by ID for problems like changing proportions of a model to make variations. 

    what sounds a little odd about what you've described is that you make a high poly for the proportion changes and then want to conform a game res model to that? Seems much easier to make proportion changes on a low poly model and only use high poly for baking details.
  • OblongUV
    Options
    Offline / Send Message
    OblongUV node
    Alex_J said:
    not sure about blender but in maya you can use a blendshape to match vertex by ID for problems like changing proportions of a model to make variations. 

    what sounds a little odd about what you've described is that you make a high poly for the proportion changes and then want to conform a game res model to that? Seems much easier to make proportion changes on a low poly model and only use high poly for baking details.
    Sometimes I do make the proportion changes on the lowpoly only, but there are times the changes are drastic enough the normal map breaks and will have to be baked again from a highpoly that's been shaped that way.
    Aren't blendshapes in maya similar to shapekeys in blender? I don't think I could do this with shapekeys, are you able to do more with blendshapes in maya?
  • OblongUV
    Options
    Offline / Send Message
    OblongUV node
    dimwalker said:
    If I understood you correctly, you would need a script which finds nearest HP vertex for each LP vertex and then moves LP vertices to corresponding positions for other HP variations. Assuming only proportions change between different HPs, otherwise indices might change.
    Maybe it's possible with bpy. but i don't know if you can store custom data like that on vertices with python. It doesn't even need to work procedurally, it just needs to be one button for lock and another button for snap. each vertex on the lp would need to hold a unique identifier for their respective hp vertex so they can look up what position to snap to.
    Problem is the fact that the highpoly will often be using a subdiv modifier. So the hp vertices aren't "real". It would have to be applied which is a headache in its own right. However, it's possible the script could just apply it temporarily just to get the vertex order of the nearest vertices, then make the changes with the modifier, and apply it temporarily again to get the position data and snap to them from the vertex order. That might work.
  • Alex_J
    Options
    Offline / Send Message
    Alex_J grand marshal polycounter
    in maya a blendshape just copies transform for each vertex ID, i dont think there is more to it than that

    recently there was a thread about retopology tools, and one i think called Wrap IIRC is shown, that conforms an existing base mesh to another model and you can designate matching vertices manually. Might check for that thread I think in general discussion
  • pxgeek
    Options
    Offline / Send Message
    pxgeek keyframe
    Wrap does what you want in principle...the only difference from your case is that you have to set up point pairs manually yourself.
    I think the point pairs are stored on the surface of the mesh, not in world space. So if you had an initial wrapping setup and needed to adjust the high polys shape and position, the point pairs are retained.

    Granted, I've only used it for organic character meshes, not hard-surface...so ymmv, but in principle it should work.
  • pior
    Options
    Online / Send Message
    pior grand marshal polycounter
    OblongUV said:
    "even with blender's shrinkwrap modifier the hard-edge outlines of the lowpoly will "slip off" the highpoly" [...]
    What you want to try is Surface Deform.


  • OblongUV
    Options
    Offline / Send Message
    OblongUV node
    pxgeek said:
    Wrap does what you want in principle...the only difference from your case is that you have to set up point pairs manually yourself.
    I think the point pairs are stored on the surface of the mesh, not in world space. So if you had an initial wrapping setup and needed to adjust the high polys shape and position, the point pairs are retained.

    Granted, I've only used it for organic character meshes, not hard-surface...so ymmv, but in principle it should work.
    Is wrap in maya only?

    pior said:
    OblongUV said:
    "even with blender's shrinkwrap modifier the hard-edge outlines of the lowpoly will "slip off" the highpoly" [...]
    What you want to try is Surface Deform.


    Surface deform modifier? I'll try it
  • pxgeek
    Options
    Offline / Send Message
    pxgeek keyframe
    OblongUV said:
    Is wrap in maya only?
    It's a standalone application. They have a plugin version for Zbrush, but might function differently.
Sign In or Register to comment.