Yep,

I remember the demo, do you guys still use FR? I guess there was quite a
bit of RnD behind the tech showed in the demo...just wondering since that
tech looked absolutely fantastic!

I will try to add a mesh with no FR setup/no envelope/soft tissue, which
will be driven by the FR mesh ( basically matching of the point position
between them ), and see if it work.

2014-12-04 2:27 GMT+01:00 Greg Punchatz <g...@janimation.com>:

> FR can be tricky, best bet is to use a secondary mesh to do your ice stuff
> with. Just refer to FRs point positions in your ICE tree somehow ( I am not
> an ICE guy, but I know basic the logic behind this)  Brad did this when we
> used ICE to add some more awesome to our face animations done with FR.
>
> On Wed, Dec 3, 2014 at 7:07 PM, Nicolas Esposito <3dv...@gmail.com> wrote:
>
>> I think I'm doing something wrong, or FR is mocking me...
>>
>> As you can see from the jpg "Store position" I'm storing the initial
>> point position values in a custom attribute ( tmp.origin )
>>
>> Then I compare ( by setting another ice node in animation mode ) the
>> point position values by getting the self.origin and getting the distance
>> to the point position of the shape point position.
>> Looks like its not working, because I have huge values, while if I try to
>> plug the point position I have proper values ( 0 around the neck area,
>> other values different to zero arounf the mounth )
>>
>> I also notice that I cannot trigger the shapes from the shape manager,
>> probably because of the lipsync itself, or the envelope or something
>> else...so I'm thinking that FR overrides/reset the shapes ( considering tha
>> absurd values I got ).
>>
>> I also tried to import all the shapes as single meshes and apply an ice
>> tree on them, but if I try to reference a value which is on another mesh it
>> breaks ( some strange error )
>>
>> At this point I'm thinking to go with the game export and then get all
>> the info from there, but I would like to know if I'm doing something wrong.
>>
>> Also, most important, I have a list of 3d vectors if I compare the points
>> position...even if I plug an array average node I still have 3d
>> vectors...what I have to do to have a single ( average? ) scalar value?
>> ​
>>  Original_point_position.JPG
>> <https://docs.google.com/file/d/0ByXsl1-14iQENDMzb2V5VjZDT3M/edit?usp=drive_web>
>> ​​
>>  Store_point_position.JPG
>> <https://docs.google.com/file/d/0ByXsl1-14iQEYUhEcC1YbVRzYUE/edit?usp=drive_web>
>> ​​
>>  Get_distance.JPG
>> <https://docs.google.com/file/d/0ByXsl1-14iQEVXZPSlpmMlV5WWc/edit?usp=drive_web>
>> ​
>>
>> 2014-12-03 16:41 GMT+01:00 Max Crow <m...@nsccreative.com>:
>>
>>> Hi Nicolas,
>>> Right, a phenome watcher on one mesh to drive phenomes on another is
>>> that it? So its a kind of inverse of the picture I gave you. Perhaps, if
>>> you set up each phenome in the ice tree and then compare the distance to
>>> its self on the mesh as it moves. The average of the array puts out a
>>> scalar value, so when this hits zero you will have a match. if you add a
>>> rescale node you can make go from 0 to 1.   You would have to have the
>>> original shape positions stored first to compare. It's a thought anyway.
>>>
>>> Max
>>>
>>> On Wed, Dec 3, 2014 at 2:44 PM, Nicolas Esposito <3dv...@gmail.com>
>>> wrote:
>>>
>>>> Hi Max,
>>>> Thanks for the answer...a couple of minutes ago I was scrolling thru
>>>> Paul Smith tutorial anb I watched exactly what your image shows, which is
>>>> very usefull :)
>>>>
>>>> Actually I'm trying a workaround on my previous discussion here on the
>>>> mailing list ( Lipsync from Facerobot - get anim values )
>>>>
>>>> The suuggestion by Luc-Eric is exactly what I'm looking for, but not
>>>> being able to script is a hige problem for me :)
>>>>
>>>> The description above is the workaround for me, means that I extracted
>>>> all the phonemes as single meshes from the main mesh.
>>>>
>>>> Since during the lipsync the phonemes value goes from 0 to 1 I'm trying
>>>> to set the base mesh point position to be my "0" value and each phoneme
>>>> mesh point position to be my "1" value. During the animation I have all
>>>> those points position which corresponds to my shapes, so I have a 100%
>>>> match when the phoneme is spoken ( obviously with a blend between each
>>>> phoneme when spoken ).
>>>>
>>>> What I find difficult is how to convert all those 3d vectors from the
>>>> base mesh points position to be my "0", and ( for example ) the phoneme
>>>> "ah" points position to be my "1" value, so that at each frame I have a
>>>> blend value for every phoneme, so that I can drive the shapes which I
>>>> previously created.
>>>>
>>>> Hope its clear
>>>>
>>>> 2014-12-03 13:39 GMT+01:00 Max Crow <m...@nsccreative.com>:
>>>>
>>>>> Hi Nicolas,
>>>>>
>>>>> get the point position, add it to the shape position then linear
>>>>> interpolate from the original point position and you have an ICE shape
>>>>> manager. Very cool and useful.
>>>>>
>>>>> Hope this helps.
>>>>> Max
>>>>>
>>>>>
>>>>> https://www.dropbox.com/s/orxwfdphyl6x75y/Shape%20Manager%20in%20ICE.jpg?dl=0
>>>>>
>>>>> On Wed, Dec 3, 2014 at 10:49 AM, Nicolas Esposito <3dv...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I'm having some difficulties with comparing two shapes using point
>>>>>> position...let me explain.
>>>>>>
>>>>>> Basically I have the base mesh and I created a couple of blend shapes
>>>>>> via the shape manager.
>>>>>> The shape are animated and driven externally.
>>>>>>
>>>>>> I'm not so good with ICE and I may be saying bs, so bare with me :)
>>>>>> What I would like to do is to get the original mesh point position (
>>>>>> so an array of point position ) and compare those to all the blend 
>>>>>> shapes I
>>>>>> have.
>>>>>> By doing this I will have an array of values which indicate the
>>>>>> difference between them ( base mesh compared with first blend shape, base
>>>>>> mesh compared to second blend shape, and so on ); I would like to reduce
>>>>>> that list to a single value in order to output a value from 0 to 1 so 
>>>>>> that:
>>>>>> Base mesh point position: value is 0
>>>>>> First Blend Shape point position: value is 1
>>>>>>
>>>>>> Basically ( if possible! ) I would like to check when the base shape
>>>>>> point position are matching ( or how close they are to ) the first Blend
>>>>>> Shape, exactly how the shape manager shape values are displayed when 
>>>>>> keyed
>>>>>> manually.
>>>>>> The main point is to have the blend shape value ( again, 0 is the
>>>>>> base mesh, 1 is the value when the first blend shape is match ) for each
>>>>>> frame using the point position as my source.
>>>>>>
>>>>>> Doable? I'm having context issues using point position and I don't
>>>>>> know how I could transform the list of arrays into a single value in 
>>>>>> order
>>>>>> to output and rescale that value to be 0 ( for the base mesh ) and 1 ( 
>>>>>> for
>>>>>> the first blend shape )
>>>>>>
>>>>>> Any help will be appreciated
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to