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 >>>>>> >>>>> >>>>> >>>> >>> >> >