Deform by UV

Plugins linking to this thread: (hide)

Deform by UVAuthor: Anto Matkovic
This addon basically allows to »texture« an object using a second, more or less flat object. This can be used for some interesting new modeling workflows because a lot of structures like for example folds, creases, scars, also all sorts of repetetive patterns are much easier to create using a flat layout first.

It takes a few steps to set this up, but everything is outlined in detail in the si-community thread (see below). Also see the »Deform by UV Plugin« by Constantine Tarasenkov which enables a one-click workflow for these compounds.

local backup: UV-deform.rar
Plugin for »Deform by UV«Author: Constantine Tarasenkov
This is a usability plugin for Anto Matkovic's »Deform by UV« compounds which basically allow to »texture« an object using a second, more or less flat object.

Two youtube videos recorded by spookymunky1 demonstrate the workflow: Modelling leg bindings in Softimage XSI using Deform by UV Compounds Part 1 and Part 2

local backup: UV-deform.rar

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

Deform by UV

Post by Mathaeus » 16 Oct 2010, 22:23

Image

Hi all,

Here are few simple compounds that can deform mesh by another mesh, using UV projection as a reference. It's very old idea, similar result can be achieved by using XSI Cage deform Op, or Deform by Surface, together with Shrink Wrap. But this one is using UV projection, so distortion is minimized. It doesn't require any special tweaking in order to be fast.
Originally it's created for sliding the mesh on another mesh, but I've used it also for some kind of 'projected modeling'. Mainly for cloth and high poly space-ship hulls.
It definitively isn't one-step method, but I've found it very usable for 'long range' modeling, because seems to be much easier to model 'in plane'. Also, it's easy to reuse the already modelled patterns, again and again. Let's say for modeling a set of space ships of different kind, but still sharing the same style. Deformer can carry deformation too.
It doesn't work very well on meshes with sharp edges.

Sample model is created, following these steps:
1: Polymesh > Subdivision from original (because ICE doesn't take subdivision Geo Approx into account) - this mesh is 'cacher' for deformation
2: Nice, well unfolded UV projection on 'cacher'
3: Disconnecting edges at UV seams on 'cacher'
4: Un simulated ICE tree with compound called 'UV Deform On Cacher'
5: New, 'modeling mesh' - this one is for modeling
6: Clone of 'modeling mesh' - as a final result - this one has another un simulated ICE tree, with compound called 'UV Deform On Mesh'

The last step with cloned mesh is for convenience reason, to allow the all stages of deformation to be visible.
Personally I've found this method a very usable, hope it can help the others a bit.

Take it here

Cheers

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

Re: Deform by UV

Post by rray » 17 Oct 2010, 00:53

Brilliant work again! I'm so going to be using this - it will allow some interesting workflows
I hope geo approx will be made accessible by ICE
Thanks a lot for releasing it, Anto
softimage resources section updated Feb 7 2019

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Deform by UV

Post by izze » 20 Oct 2010, 16:31

Very hand to have. Works great. Smart thinking!

caledonian_tartan
Posts: 253
Joined: 17 Feb 2010, 15:13

Re: Deform by UV

Post by caledonian_tartan » 22 Oct 2010, 10:48

hi Mathaeus
this is highly interesting. i love the example you came up with. the deformed cloth just looks great!

i tried to go through the steps but had no success so far.
how did you get the flat "UV-like" polymesh? is there an export function in the texture editor?

cheers
SI 2015 @ WIN7-64

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

Re: Deform by UV

Post by Mathaeus » 22 Oct 2010, 12:57

caledonian_tartan wrote:hi Mathaeus
i tried to go through the steps but had no success so far.
how did you get the flat "UV-like" polymesh? is there an export function in the texture editor?
cheers
Hi,

There isn't export function in TE. It's a simple ICE compound (already described in step 3 and 4 of first post) that takes UV positions and converts them to 'real' positions, but keeping the original values in custom attributes, so another mesh can use original values. In order to all works properly, UV projection shouldn't overlap, also edges on mesh should be disconnected at UV seams ( I'm doing that by selecting all edges in TE, then running 'Contour Selection' command).

Optionally, you can connect an additional null, just to place that mesh on some convenient place for modeling (otherwise it will stay somewhere inside world 0 - 1 unit)

As some rule of thumb, try to keep all meshes at world zero transform. Also, 'UV deform on Cacher' compound need to point at existing UV projection - by default, compound will try to use a 'common' 'Texture_Coordinates_AUTO' > Texture Projection.UVs'.

BTW, no big deal to extend functions of these compounds, let's say to do reverse function of 'unfolding' , and so on - but I didn't wanted to bother people with too much options in first post.

Thanks you guys !

caledonian_tartan
Posts: 253
Joined: 17 Feb 2010, 15:13

Re: Deform by UV

Post by caledonian_tartan » 22 Oct 2010, 14:01

alright. got it. the compound initially just pointed to the wrong UV. so simple, so great, thanks!
SI 2015 @ WIN7-64

Pooby
Posts: 498
Joined: 27 Aug 2010, 22:25

Re: Deform by UV

Post by Pooby » 25 Oct 2010, 14:02

I cant begin to tell you how cool this is..

Ive been skirting around doing this kind of thing for ages, using all kinds of overly complicated methods, whereas yours is elegant and brilliant.
It will enable me to solve a very specific issue that i have never been able to solve on my facial rigs.

Thanks very much.

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

Re: Deform by UV

Post by Mathaeus » 25 Oct 2010, 22:04

Thank you guys, again :)

Actually I planned to use this for some kind of facial rig, but it never went further than this prototype. I don't have plans to work on it more, except to make the compounds cleaner, maybe one day.... Basically it's a 'reverse' of method from this thread, plus 'automatic envelope', created from pairs of nulls. Especially this 'envelope' needs the improvement.

Anyway, it would be really great if someone find it useful for 'real' facial rig.

Cheers

Cryrid
Posts: 11
Joined: 12 Jun 2009, 23:51

Re: Deform by UV

Post by Cryrid » 10 May 2011, 01:00

Could anyone help explain the steps to a layman like myself who has zero experience with ICE? I've tried following the steps here but I only end up with red nodes regardless of what I select in the explorer, and more confusion.

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

Re: Deform by UV

Post by Mathaeus » 10 May 2011, 10:08

Cryrid wrote:Could anyone help explain the steps to a layman like myself who has zero experience with ICE? I've tried following the steps here but I only end up with red nodes regardless of what I select in the explorer, and more confusion.
hi there,

afaik, most problems become from wrong UV property. You have to double click on 'UV deform on cacher' compound, then browse from it's PPG, to small blue-gradient square in explorer, called UVs (you should see a few ICE attributes there). Default is set to frequent 'cls.Texture_Coord....'
Another problem that I know, is a cluster that carrying the UVs, called 'Sample' - exactly what you'll get by importing *.obj file from another app. If you rename it to anything else (zample, bob...), it should be fine.

That's about red node. For rest of setup, I think it's already explained. BTW I agree that this setup looks a bit weird, but that's best I've been able to do, using only ICE nodes.

Cheers

Cryrid
Posts: 11
Joined: 12 Jun 2009, 23:51

Re: Deform by UV

Post by Cryrid » 10 May 2011, 20:04

Ah, I didn't realize you had to go all the way down to the .UVs, I was just trying the projections. Also I guess you have to drag the cacher onto the ICE tree and connect it to the compound in order to get the cloned shape to deform back?

Seems to work now though, thanks. :-bd

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

Re: Deform by UV

Post by Mathaeus » 10 May 2011, 21:15

nice you got it to work !
btw it's not new for XSI, it's similar to an old plugin by Kim Aldis. Even only with standard XSI operators, it's possible to do something close to this - cage deform on clone, shrink-wrap on clone, so on. But ICE+UV approach seems to be much faster and precise.
Clone is for comfortable 'in-plane' modeling, 'deform null' is also for placing the 'catcher' into some convenient SRT.

That's how looks setup for this one.

Image

cheers

iamVFX
Posts: 697
Joined: 24 Sep 2010, 18:28

Re: Deform by UV

Post by iamVFX » 18 May 2012, 14:38

Very cool compounds, Anto! Here I simplified the setup process to one-click solution.

Just put the plugin file attached below to "\Autodesk\Softimage_20##\Application\Plugins" user folder and under Model -> Create -> Poly. Mesh menu you'll find a "Create Deformed by UV mesh" button

There's "Cutline" or "Unfold_CutLine" edge clusters must exist on object to cut the UV mesh (unfortunately "Contour Selection" TE command is not exposed for SDK yet)

Should work on all versions that supports Python
You do not have the required permissions to view the files attached to this post.

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

Re: Deform by UV

Post by Mathaeus » 19 May 2012, 03:31

Spasibo, Constantine :)

iamVFX
Posts: 697
Joined: 24 Sep 2010, 18:28

Re: Deform by UV

Post by iamVFX » 23 Nov 2012, 14:34

Just found a few tutorials, thanks to spookymunky!



Falam

Re: Deform by UV

Post by Falam » 04 Dec 2012, 14:58

Mathaeus wrote:Image

Hi all,

Here are few simple compounds that can deform mesh by another mesh, using UV projection as a reference. It's very old idea, similar result can be achieved by using XSI Cage deform Op, or Deform by Surface, together with Shrink Wrap. But this one is using UV projection, so distortion is minimized. It doesn't require any special tweaking in order to be fast.
Originally it's created for sliding the mesh on another mesh, but I've used it also for some kind of 'projected modeling'. Mainly for cloth and high poly space-ship hulls.
It definitively isn't one-step method, but I've found it very usable for 'long range' modeling, because seems to be much easier to model 'in plane'. Also, it's easy to reuse the already modelled patterns, again and again. Let's say for modeling a set of space ships of different kind, but still sharing the same style. Deformer can carry deformation too.
It doesn't work very well on meshes with sharp edges.

Sample model is created, following these steps:
1: Polymesh > Subdivision from original (because ICE doesn't take subdivision Geo Approx into account) - this mesh is 'cacher' for deformation
2: Nice, well unfolded UV projection on 'cacher'
3: Disconnecting edges at UV seams on 'cacher'
4: Un simulated ICE tree with compound called 'UV Deform On Cacher'
5: New, 'modeling mesh' - this one is for modeling
6: Clone of 'modeling mesh' - as a final result - this one has another un simulated ICE tree, with compound called 'UV Deform On Mesh'

The last step with cloned mesh is for convenience reason, to allow the all stages of deformation to be visible.
Personally I've found this method a very usable, hope it can help the others a bit.

Take it here

Cheers
It doesn't work with displacement maps though, correct ?