Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-18 Thread Enrique Caballero
Awesome thanks raff, will mess with this today. I need to watch week 7 too!


On Tue, Jun 18, 2013 at 8:16 PM, Raffaele Fragapane <
raffsxsil...@googlemail.com> wrote:

> Actually:
> "but instead of using one transform for the whole set, those vectors are
> saved after a local transform for each point is obtained"
> You will need to test yourself. The principle is what I describe, but I
> don't remember if Soft saves the transformed vectors or uses the transforms
> at the end of the process and leaves the displacement vector otherwise
> unaffected before then.
>
> It's easy enough to test with X, Y and Z aligned unit vectors in the
> shapes and a deforming mesh. I'm quite, but not 100% positive they are
> pre-transformed when saved, but it's been a long time since I checked :p
>
>
> On Tue, Jun 18, 2013 at 10:13 PM, Raffaele Fragapane <
> raffsxsil...@googlemail.com> wrote:
>
>> I think I go over it in week 7 actually, and I know you do have it
>> already so not like I'm peddling :p
>>
>> But in terms of shape animation, you have three modes in Softimage.
>> Global and Object are fairly self explanatory in how the displacement
>> vector that moves one base point to its target shape is oriented. If shapes
>> happen before other deformations, those are fine.
>>
>> However, if you save a displacement vector moving a point on the top of a
>> head by one unit in Y, oriented to the object, when the envelope bends that
>> head forward and you apply the shape AFTER the envelope, you are left with
>> a stray point still moving in object Y.
>>
>> Local relative shapes in Soft still save a displacement vector like the
>> other modes, but instead of using one transform for the whole set, those
>> vectors are saved after a local transform for each point is obtained, so
>> that if you move a set of points, that vector multiplied by the transform
>> of each point will still produce a displacement similar to the one intended.
>>
>> Now, points don't have a full transform, they have a position, and
>> possibly a normal and a set of edges coming off it, so you have to figure
>> out a coherent, repeatable (after points move) transform with those.
>>
>> AFAIK Soft uses a simple system, Normal = Y axis, first edge projected on
>> the normal plane then normalized = X axis, the cross product between the
>> two (with the right handedness and normalized again for good measure)
>> produces the Z. You can then transform your displacement in object space by
>> the inverse of that transform, and it will become "point neutral" in a way,
>> at least for storage.
>> When time comes to re-apply it, after the mesh has deformed, you
>> re-derive that point's transform the same way, and multiply that vector by
>> it, and it will be "mesh relative".
>>
>> Of course it comes with fringe cases (IE: first edge aligned to the
>> normal, resulting in a 0 vector for X), but those fringe cases would
>> normally imply someone who modelled, or subsequently deformed the mesh
>> needs to be chemically castrated ASAP, lest they have kids just as stupid.
>>
>>
>>
>>
>> On Tue, Jun 18, 2013 at 9:54 PM, Enrique Caballero <
>> enriquecaball...@gmail.com> wrote:
>>
>>> raff thats really interesting and explains why in some of my shapes my
>>> method doesn't work. properly
>>>
>>> *(normal - normal x 1st edge - previous axis x normal)*
>>>
>>> could i ask you to go into more detail on this please.
>>>
>>>
>>> On Tue, Jun 18, 2013 at 12:02 PM, Raffaele Fragapane <
>>> raffsxsil...@googlemail.com> wrote:
>>>
 Duplicate mesh twice, fix one, subtract point pos of one from the
 other, freeze, transfer frozen ice attributes to original mesh.
 Works fine for world and object. For component relative (equivalent to
 local) it's a bit trickier as you will have to transform the resulting
 vector (object space) by the inverse of the component transform (normal -
 normal x 1st edge - previous axis x normal), and then transform it by the
 component transform on the mesh it's applied to, but can still be done.

 Corrective shapes are best done in ICE :p


 On Tue, Jun 18, 2013 at 5:27 AM, Alan Fregtman >>> > wrote:

> Hey guys,
>
> I'm curious if anyone has already tackled the problem of creating a
> corrective shape (that is, a shape difference in a pose that has been
> readjusted to be relative to the neutral character pose) when
> SecondaryShapeModeling isn't viable?
>
> If you use classic envelopes and the ClusterShapeCombiner, you can
> make adjustments in SecondaryShape mode and store a shape that is
> automatically adjusted to the neutral pose for you, and that's cool, but 
> if
> you have anything much fancier, it doesn't do the neutralization right.
>
> I'm contemplating perhaps storing the shape vector difference relative
> to the PointReferenceFrame matrices; maybe that'll do it. Any other/better
> ideas?
>
> Cheers,
>
>-- Alan
>>

Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-18 Thread Raffaele Fragapane
Actually:
"but instead of using one transform for the whole set, those vectors are
saved after a local transform for each point is obtained"
You will need to test yourself. The principle is what I describe, but I
don't remember if Soft saves the transformed vectors or uses the transforms
at the end of the process and leaves the displacement vector otherwise
unaffected before then.

It's easy enough to test with X, Y and Z aligned unit vectors in the shapes
and a deforming mesh. I'm quite, but not 100% positive they are
pre-transformed when saved, but it's been a long time since I checked :p


On Tue, Jun 18, 2013 at 10:13 PM, Raffaele Fragapane <
raffsxsil...@googlemail.com> wrote:

> I think I go over it in week 7 actually, and I know you do have it already
> so not like I'm peddling :p
>
> But in terms of shape animation, you have three modes in Softimage.
> Global and Object are fairly self explanatory in how the displacement
> vector that moves one base point to its target shape is oriented. If shapes
> happen before other deformations, those are fine.
>
> However, if you save a displacement vector moving a point on the top of a
> head by one unit in Y, oriented to the object, when the envelope bends that
> head forward and you apply the shape AFTER the envelope, you are left with
> a stray point still moving in object Y.
>
> Local relative shapes in Soft still save a displacement vector like the
> other modes, but instead of using one transform for the whole set, those
> vectors are saved after a local transform for each point is obtained, so
> that if you move a set of points, that vector multiplied by the transform
> of each point will still produce a displacement similar to the one intended.
>
> Now, points don't have a full transform, they have a position, and
> possibly a normal and a set of edges coming off it, so you have to figure
> out a coherent, repeatable (after points move) transform with those.
>
> AFAIK Soft uses a simple system, Normal = Y axis, first edge projected on
> the normal plane then normalized = X axis, the cross product between the
> two (with the right handedness and normalized again for good measure)
> produces the Z. You can then transform your displacement in object space by
> the inverse of that transform, and it will become "point neutral" in a way,
> at least for storage.
> When time comes to re-apply it, after the mesh has deformed, you re-derive
> that point's transform the same way, and multiply that vector by it, and it
> will be "mesh relative".
>
> Of course it comes with fringe cases (IE: first edge aligned to the
> normal, resulting in a 0 vector for X), but those fringe cases would
> normally imply someone who modelled, or subsequently deformed the mesh
> needs to be chemically castrated ASAP, lest they have kids just as stupid.
>
>
>
>
> On Tue, Jun 18, 2013 at 9:54 PM, Enrique Caballero <
> enriquecaball...@gmail.com> wrote:
>
>> raff thats really interesting and explains why in some of my shapes my
>> method doesn't work. properly
>>
>> *(normal - normal x 1st edge - previous axis x normal)*
>>
>> could i ask you to go into more detail on this please.
>>
>>
>> On Tue, Jun 18, 2013 at 12:02 PM, Raffaele Fragapane <
>> raffsxsil...@googlemail.com> wrote:
>>
>>> Duplicate mesh twice, fix one, subtract point pos of one from the other,
>>> freeze, transfer frozen ice attributes to original mesh.
>>> Works fine for world and object. For component relative (equivalent to
>>> local) it's a bit trickier as you will have to transform the resulting
>>> vector (object space) by the inverse of the component transform (normal -
>>> normal x 1st edge - previous axis x normal), and then transform it by the
>>> component transform on the mesh it's applied to, but can still be done.
>>>
>>> Corrective shapes are best done in ICE :p
>>>
>>>
>>> On Tue, Jun 18, 2013 at 5:27 AM, Alan Fregtman 
>>> wrote:
>>>
 Hey guys,

 I'm curious if anyone has already tackled the problem of creating a
 corrective shape (that is, a shape difference in a pose that has been
 readjusted to be relative to the neutral character pose) when
 SecondaryShapeModeling isn't viable?

 If you use classic envelopes and the ClusterShapeCombiner, you can make
 adjustments in SecondaryShape mode and store a shape that is automatically
 adjusted to the neutral pose for you, and that's cool, but if you have
 anything much fancier, it doesn't do the neutralization right.

 I'm contemplating perhaps storing the shape vector difference relative
 to the PointReferenceFrame matrices; maybe that'll do it. Any other/better
 ideas?

 Cheers,

-- Alan


>>>
>>>
>>> --
>>> Our users will know fear and cower before our software! Ship it! Ship it
>>> and let them flee like the dogs they are!
>>>
>>
>>
>
>
> --
> Our users will know fear and cower before our software! Ship it! Ship it
> and let them flee like the dogs they are!
>



-- 

Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-18 Thread Raffaele Fragapane
I think I go over it in week 7 actually, and I know you do have it already
so not like I'm peddling :p

But in terms of shape animation, you have three modes in Softimage.
Global and Object are fairly self explanatory in how the displacement
vector that moves one base point to its target shape is oriented. If shapes
happen before other deformations, those are fine.

However, if you save a displacement vector moving a point on the top of a
head by one unit in Y, oriented to the object, when the envelope bends that
head forward and you apply the shape AFTER the envelope, you are left with
a stray point still moving in object Y.

Local relative shapes in Soft still save a displacement vector like the
other modes, but instead of using one transform for the whole set, those
vectors are saved after a local transform for each point is obtained, so
that if you move a set of points, that vector multiplied by the transform
of each point will still produce a displacement similar to the one intended.

Now, points don't have a full transform, they have a position, and possibly
a normal and a set of edges coming off it, so you have to figure out a
coherent, repeatable (after points move) transform with those.

AFAIK Soft uses a simple system, Normal = Y axis, first edge projected on
the normal plane then normalized = X axis, the cross product between the
two (with the right handedness and normalized again for good measure)
produces the Z. You can then transform your displacement in object space by
the inverse of that transform, and it will become "point neutral" in a way,
at least for storage.
When time comes to re-apply it, after the mesh has deformed, you re-derive
that point's transform the same way, and multiply that vector by it, and it
will be "mesh relative".

Of course it comes with fringe cases (IE: first edge aligned to the normal,
resulting in a 0 vector for X), but those fringe cases would normally imply
someone who modelled, or subsequently deformed the mesh needs to be
chemically castrated ASAP, lest they have kids just as stupid.




On Tue, Jun 18, 2013 at 9:54 PM, Enrique Caballero <
enriquecaball...@gmail.com> wrote:

> raff thats really interesting and explains why in some of my shapes my
> method doesn't work. properly
>
> *(normal - normal x 1st edge - previous axis x normal)*
>
> could i ask you to go into more detail on this please.
>
>
> On Tue, Jun 18, 2013 at 12:02 PM, Raffaele Fragapane <
> raffsxsil...@googlemail.com> wrote:
>
>> Duplicate mesh twice, fix one, subtract point pos of one from the other,
>> freeze, transfer frozen ice attributes to original mesh.
>> Works fine for world and object. For component relative (equivalent to
>> local) it's a bit trickier as you will have to transform the resulting
>> vector (object space) by the inverse of the component transform (normal -
>> normal x 1st edge - previous axis x normal), and then transform it by the
>> component transform on the mesh it's applied to, but can still be done.
>>
>> Corrective shapes are best done in ICE :p
>>
>>
>> On Tue, Jun 18, 2013 at 5:27 AM, Alan Fregtman 
>> wrote:
>>
>>> Hey guys,
>>>
>>> I'm curious if anyone has already tackled the problem of creating a
>>> corrective shape (that is, a shape difference in a pose that has been
>>> readjusted to be relative to the neutral character pose) when
>>> SecondaryShapeModeling isn't viable?
>>>
>>> If you use classic envelopes and the ClusterShapeCombiner, you can make
>>> adjustments in SecondaryShape mode and store a shape that is automatically
>>> adjusted to the neutral pose for you, and that's cool, but if you have
>>> anything much fancier, it doesn't do the neutralization right.
>>>
>>> I'm contemplating perhaps storing the shape vector difference relative
>>> to the PointReferenceFrame matrices; maybe that'll do it. Any other/better
>>> ideas?
>>>
>>> Cheers,
>>>
>>>-- Alan
>>>
>>>
>>
>>
>> --
>> Our users will know fear and cower before our software! Ship it! Ship it
>> and let them flee like the dogs they are!
>>
>
>


-- 
Our users will know fear and cower before our software! Ship it! Ship it
and let them flee like the dogs they are!


Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-18 Thread Enrique Caballero
raff thats really interesting and explains why in some of my shapes my
method doesn't work. properly

*(normal - normal x 1st edge - previous axis x normal)*

could i ask you to go into more detail on this please.


On Tue, Jun 18, 2013 at 12:02 PM, Raffaele Fragapane <
raffsxsil...@googlemail.com> wrote:

> Duplicate mesh twice, fix one, subtract point pos of one from the other,
> freeze, transfer frozen ice attributes to original mesh.
> Works fine for world and object. For component relative (equivalent to
> local) it's a bit trickier as you will have to transform the resulting
> vector (object space) by the inverse of the component transform (normal -
> normal x 1st edge - previous axis x normal), and then transform it by the
> component transform on the mesh it's applied to, but can still be done.
>
> Corrective shapes are best done in ICE :p
>
>
> On Tue, Jun 18, 2013 at 5:27 AM, Alan Fregtman wrote:
>
>> Hey guys,
>>
>> I'm curious if anyone has already tackled the problem of creating a
>> corrective shape (that is, a shape difference in a pose that has been
>> readjusted to be relative to the neutral character pose) when
>> SecondaryShapeModeling isn't viable?
>>
>> If you use classic envelopes and the ClusterShapeCombiner, you can make
>> adjustments in SecondaryShape mode and store a shape that is automatically
>> adjusted to the neutral pose for you, and that's cool, but if you have
>> anything much fancier, it doesn't do the neutralization right.
>>
>> I'm contemplating perhaps storing the shape vector difference relative to
>> the PointReferenceFrame matrices; maybe that'll do it. Any other/better
>> ideas?
>>
>> Cheers,
>>
>>-- Alan
>>
>>
>
>
> --
> Our users will know fear and cower before our software! Ship it! Ship it
> and let them flee like the dogs they are!
>


Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Raffaele Fragapane
Duplicate mesh twice, fix one, subtract point pos of one from the other,
freeze, transfer frozen ice attributes to original mesh.
Works fine for world and object. For component relative (equivalent to
local) it's a bit trickier as you will have to transform the resulting
vector (object space) by the inverse of the component transform (normal -
normal x 1st edge - previous axis x normal), and then transform it by the
component transform on the mesh it's applied to, but can still be done.

Corrective shapes are best done in ICE :p


On Tue, Jun 18, 2013 at 5:27 AM, Alan Fregtman wrote:

> Hey guys,
>
> I'm curious if anyone has already tackled the problem of creating a
> corrective shape (that is, a shape difference in a pose that has been
> readjusted to be relative to the neutral character pose) when
> SecondaryShapeModeling isn't viable?
>
> If you use classic envelopes and the ClusterShapeCombiner, you can make
> adjustments in SecondaryShape mode and store a shape that is automatically
> adjusted to the neutral pose for you, and that's cool, but if you have
> anything much fancier, it doesn't do the neutralization right.
>
> I'm contemplating perhaps storing the shape vector difference relative to
> the PointReferenceFrame matrices; maybe that'll do it. Any other/better
> ideas?
>
> Cheers,
>
>-- Alan
>
>


-- 
Our users will know fear and cower before our software! Ship it! Ship it
and let them flee like the dogs they are!


Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Enrique Caballero
alan all the time this is how i do it

duplicate the mesh twice

1. neutral pose
2. posed where it needs the corrective shape
3. duplicate 2 again

create the corrective shape on # 2 mesh.  You now have a mesh that is
posed, and has the fix applied

create the corrective shape on it.

you now have

1. neutral pose
2. posed mesh with corrective shape on it
3. pose shape that needs corrective shape

now apply the #2 mesh as a shape to the neutral pose mesh, set it to weight
of 1

now apply the #3 mesh as a shape to the neutral pose mesh, set it to weight
-1

this effectively removes the posing, and leaves only the corrective shape,
its just a vector subtraction after all.

you now have the corrective shape


d


On Tue, Jun 18, 2013 at 7:45 AM, Sven Constable wrote:

> Just a sidenote: Mr. Smith, your tutorials are the most charming ones
> regarding softimage I saw in the last 15 years. It's just my professional
> opinion. :)  Its pure joy to listen to them. I really like the kind of
> understatement that is always present in your videos. And of course the
> information. The videos about "procedural UVing" or something (with
> particles?) were great. I just wanted to say this in the mailing list
> rather
> than post a comment a a video platform
> Thank you for the effort, Sir!
>
> sven
>
> -Original Message-
> From: softimage-boun...@listproc.autodesk.com
> [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Bk
> Sent: Monday, June 17, 2013 23:58
> To: softimage@listproc.autodesk.com
> Subject: Re: Anyone done corrective shapes when SecondaryShapeModeling is
> not an option?
>
> See what you think of this technique
>
> https://vimeo.com/67402407
>
> I find the results are far more natural looking and easier to manage and
> edit. I doubt I'll ever use that shapes-before-bones method again for
> correctives on limbs.
>
>
> On 17 Jun 2013, at 20:27, Alan Fregtman  wrote:
>
> > Hey guys,
> >
> > I'm curious if anyone has already tackled the problem of creating a
> corrective shape (that is, a shape difference in a pose that has been
> readjusted to be relative to the neutral character pose) when
> SecondaryShapeModeling isn't viable?
> >
> > If you use classic envelopes and the ClusterShapeCombiner, you can make
> adjustments in SecondaryShape mode and store a shape that is automatically
> adjusted to the neutral pose for you, and that's cool, but if you have
> anything much fancier, it doesn't do the neutralization right.
> >
> > I'm contemplating perhaps storing the shape vector difference relative to
> the PointReferenceFrame matrices; maybe that'll do it. Any other/better
> ideas?
> >
> > Cheers,
> >
> >-- Alan
> >
>
>


RE: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Sven Constable
Just a sidenote: Mr. Smith, your tutorials are the most charming ones
regarding softimage I saw in the last 15 years. It's just my professional
opinion. :)  Its pure joy to listen to them. I really like the kind of
understatement that is always present in your videos. And of course the
information. The videos about "procedural UVing" or something (with
particles?) were great. I just wanted to say this in the mailing list rather
than post a comment a a video platform
Thank you for the effort, Sir!

sven 

-Original Message-
From: softimage-boun...@listproc.autodesk.com
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Bk
Sent: Monday, June 17, 2013 23:58
To: softimage@listproc.autodesk.com
Subject: Re: Anyone done corrective shapes when SecondaryShapeModeling is
not an option?

See what you think of this technique

https://vimeo.com/67402407

I find the results are far more natural looking and easier to manage and
edit. I doubt I'll ever use that shapes-before-bones method again for
correctives on limbs.


On 17 Jun 2013, at 20:27, Alan Fregtman  wrote:

> Hey guys,
> 
> I'm curious if anyone has already tackled the problem of creating a
corrective shape (that is, a shape difference in a pose that has been
readjusted to be relative to the neutral character pose) when
SecondaryShapeModeling isn't viable?
> 
> If you use classic envelopes and the ClusterShapeCombiner, you can make
adjustments in SecondaryShape mode and store a shape that is automatically
adjusted to the neutral pose for you, and that's cool, but if you have
anything much fancier, it doesn't do the neutralization right.
> 
> I'm contemplating perhaps storing the shape vector difference relative to
the PointReferenceFrame matrices; maybe that'll do it. Any other/better
ideas?
> 
> Cheers,
> 
>-- Alan
> 



Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Peter Agg
This is the process I've found works best for me - it's from memory as I
don't have Soft at home so hopefully it's all in the right order. I have
used an ICE PointRefFrame technique to try to get the rotational changes,
but the result never seemed to work as well as this:

1) Move the rig from it's bind to the pose you want to correct
2) Export the mesh as an obj, store an action clip of the bind pose, the
corrective pose and a preset for the envelope
3) Fix the obj
4) Back in the rig scene; import the fixed obj, give it an envelope and
apply the preset so it matches the main mesh
5) Apply the corrective pose to the rig
6) Reset the Static Kinestate of the bones whilst still in the corrective
pose
7) Apply the bind pose again
8) Export the mesh as an obj, then bring it in later to use as a standard
shape in whatever system you use

A bit convoluted, but such is the way of these things. :)


On 17 June 2013 22:57, Bk  wrote:

> See what you think of this technique
>
> https://vimeo.com/67402407
>
> I find the results are far more natural looking and easier to manage and
> edit. I doubt I'll ever use that shapes-before-bones method again for
> correctives on limbs.
>
>
> On 17 Jun 2013, at 20:27, Alan Fregtman  wrote:
>
> > Hey guys,
> >
> > I'm curious if anyone has already tackled the problem of creating a
> corrective shape (that is, a shape difference in a pose that has been
> readjusted to be relative to the neutral character pose) when
> SecondaryShapeModeling isn't viable?
> >
> > If you use classic envelopes and the ClusterShapeCombiner, you can make
> adjustments in SecondaryShape mode and store a shape that is automatically
> adjusted to the neutral pose for you, and that's cool, but if you have
> anything much fancier, it doesn't do the neutralization right.
> >
> > I'm contemplating perhaps storing the shape vector difference relative
> to the PointReferenceFrame matrices; maybe that'll do it. Any other/better
> ideas?
> >
> > Cheers,
> >
> >-- Alan
> >
>
>


Re: Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Bk
See what you think of this technique

https://vimeo.com/67402407

I find the results are far more natural looking and easier to manage and edit. 
I doubt I'll ever use that shapes-before-bones method again for correctives on 
limbs.


On 17 Jun 2013, at 20:27, Alan Fregtman  wrote:

> Hey guys,
> 
> I'm curious if anyone has already tackled the problem of creating a 
> corrective shape (that is, a shape difference in a pose that has been 
> readjusted to be relative to the neutral character pose) when 
> SecondaryShapeModeling isn't viable?
> 
> If you use classic envelopes and the ClusterShapeCombiner, you can make 
> adjustments in SecondaryShape mode and store a shape that is automatically 
> adjusted to the neutral pose for you, and that's cool, but if you have 
> anything much fancier, it doesn't do the neutralization right.
> 
> I'm contemplating perhaps storing the shape vector difference relative to the 
> PointReferenceFrame matrices; maybe that'll do it. Any other/better ideas?
> 
> Cheers,
> 
>-- Alan
> 



Anyone done corrective shapes when SecondaryShapeModeling is not an option?

2013-06-17 Thread Alan Fregtman
Hey guys,

I'm curious if anyone has already tackled the problem of creating a
corrective shape (that is, a shape difference in a pose that has been
readjusted to be relative to the neutral character pose) when
SecondaryShapeModeling isn't viable?

If you use classic envelopes and the ClusterShapeCombiner, you can make
adjustments in SecondaryShape mode and store a shape that is automatically
adjusted to the neutral pose for you, and that's cool, but if you have
anything much fancier, it doesn't do the neutralization right.

I'm contemplating perhaps storing the shape vector difference relative to
the PointReferenceFrame matrices; maybe that'll do it. Any other/better
ideas?

Cheers,

   -- Alan