uv blendshape

Here you can find ICE tutorials and learning material
Post Reply
anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 10:39
Skype: nguyenvuducthuy

uv blendshape

Post by anhungxadieu » 15 Jul 2017, 04:52

Hi there,

Is there the way to create similar result like this in ice?

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: uv blendshape

Post by Mathaeus » 15 Jul 2017, 15:59

Yeah it should works in ICE, Fabric or Houdini, or anything else that supports a sort of interpolated spatial query, like ICE Get Closest Location or Raycast. You save the target positions as custom attribute, deform both meshes to get 3d positions to match the uv space, then you do the query in that, uv-to-3d-space. Drawback of that method is that.... now... UVs of meshes has to match, especially in areas like mouth.

P.S. Btw Maya is already able to transfer vertex positions using UV space for sampling, it's 'transfer attributes' from modeling>mesh menu, so one could do this manually, step by step. However UVs has to match in that case, too.
Last edited by Mathaeus on 15 Jul 2017, 16:07, edited 1 time in total.

User avatar
rray
Moderator
Posts: 1774
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany
Contact:

Re: uv blendshape

Post by rray » 15 Jul 2017, 16:04

Ah Anto was a bit faster =) here was my reply which is basically the same :D

I think it can be done, I've dones something similar before for deforming quad meshes by tri meshes (from marvelous designer)
Try this...
-in ICE move each point of base mesh to its uv position like zbrush's morph uv does, then
-same for each point of one of the target meshes (assuming uv islands of the meshes overlap more or less, that would be a requirement)
-from base mesh, get closest location on target mesh, store in ICE attribute in base

Then freeze the base mesh. Could be scripted up to here. What you'll end up with is a flat base mesh with an attribute of corresponding locations of the other mesh. This mesh can be deformed now by your target mesh by looking up the stored locations on it (using switch context ICE node) and getting their PointPositions/LocalReferenceFrame (and the shape offsets like done in the video)

Repeat for the other targets, including a copy of the base.

Works only if the mesh is 1 uv island with no uv seams. In case there's seams in the uv you'd have to split first and then weld back or some other trick...
softimage resources section updated Jan 5th 2024

anhungxadieu
Posts: 175
Joined: 17 Apr 2014, 10:39
Skype: nguyenvuducthuy

Re: uv blendshape

Post by anhungxadieu » 17 Jul 2017, 16:33

Hi,
Thank you guys for nice idea! I got it, it's look like one we already created one before "deform by uv". I just wonder there is no way to directly do "uv to location" :D (it's joking we already have one and "get closet location" have better performance!). Some stuff it's hard to do in maya but in softimage we can archive it very easy!

User avatar
rray
Moderator
Posts: 1774
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany
Contact:

Re: uv blendshape

Post by rray » 17 Jul 2017, 21:31

Did a bit of poking around and found this http://www.si-community.com/community/v ... =15&t=6183. Completely forgot about that thread (and that it's even possible to do that in 1 tree) :ymblushing:
softimage resources section updated Jan 5th 2024

Post Reply

Who is online

Users browsing this forum: No registered users and 23 guests