Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

New FaceFX Integration With Unity

Discussion in 'Assets and Asset Store' started by facefx, Feb 15, 2011.

  1. EricTheCoolDude

    EricTheCoolDude

    Joined:
    Feb 21, 2011
    Posts:
    164
    The problem with FaceFX is that the facial movements look really stiff and zombie-ish. The only times when using it is OK would be in-game during action scenes when you don't see the faces much. Other than that they look dead when talking and it takes me out of the game and makes me think of the characters more like puppets and less like people. Like Battlefield 3 for example. The bad FaceFX animation isn't obvious during gameplay. However, in the prerendered cutscenes I can tell that they didn't use FaceFX and instead opted to hand-animate or mocap it.

    And yes, I can tell them to man up. It shouldn't cost much for them to just hire some guy to match the F***ing phonemes up. Heck, even the volume-based mouth movement in Half-Life feel more alive than FaceFX animation. In the source engine valve uses a system where they type in what the character is saying and combine it with the audio files. They then review the animation and make changes if needed. And guess what? The Half-Life 2 characters feel like people instead of zombies. I know it isn't perfect but that was 2004. Team Fortress 2 has PERFECT facial animation and that's on the same engine using the same system.

    FaceFX isn't THE S***, it's just S***.

    Are you seriously saying THIS is good?
     
    Last edited: Nov 28, 2011
  2. KITT

    KITT

    Joined:
    Jul 17, 2009
    Posts:
    221
    @EricTheCoolDude - you could walk into any of the aforementioned studios and tell them to man up, and they could laugh at you and pull up this game trailer and laugh at you some more. From a guy who's skills consist of two key frames, basic text, basic glow, *insert newbie motion graphics tendency here* - you got alot of balls. Just sayin'.
     
  3. mehware

    mehware

    Joined:
    Nov 19, 2007
    Posts:
    739
    @EricTheCoolDude

    Did you check out the titles that use FaceFX? http://facefx.com/game-titles

    As a programmer the ability to run an audio file into FaceFX Pro Studio and get a realistic looking output in a few seconds is mind blowing and truly amazing. Apparently the "big boys" like it. If you don't like this solution pick a different route. Not defending or offending, just my two cents and perspective.
     
  4. EricTheCoolDude

    EricTheCoolDude

    Joined:
    Feb 21, 2011
    Posts:
    164
    I didn't have anything to work with for that trailer. I know it's crap but he sent me his material and it was literally just him walking around in his world in about 5 fps. I just followed his directions and put in the text that he wanted me to put in. That wasn't even finished, he posted an early version that I sent him. I just did something quick to get it out of the way. I can do much better, but I'd already started my collaboration with the guy and I just wanted to get it out of the way so I could make better trailers. I do much better stuff at http://www.youtube.com/reallyhandsomepeople . Here's something I made in about half an hour:



    Looks better than FaceFX in every way.
     
    Last edited: Nov 29, 2011
  5. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    @facefx - I have been trying to decide between the facefx plugin or the studio package for some time. I like the studio functionality but it's a bit much at $2000 for indie development. Have you ever consider a Unity discount or some sort of sale? Maybe a cyber Monday sale?
     
  6. EricTheCoolDude

    EricTheCoolDude

    Joined:
    Feb 21, 2011
    Posts:
    164
    I know that a lot of big titles use it. I also know it looks like S***. Do you really call this realistic output? It's far from mind blowing, it makes me sick just thinking about how little time it would take to make it look about a hundred times better. I mean, he doesn't even close his mouth completely between words! In the declaration of human rates where the model is supposed to say "Everyone is entitled to all the rights and freedoms" it looks like he's saying "Everywa ya ya oh wa eh woah weh".

    Here's another S***ty demo of theirs.
     
  7. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    @EricTheCoolDude - Your animation looks great. Keep in mind that it took you a half an hour, and it's about 6 seconds of animation. Our sample videos show untweaked FaceFX output. I would be interested to see where you end up if you start with FaceFX output and spend 30 minutes improving it. If you download the FaceFX evaluation and try for yourself, I'd welcome any criticism or feedback you have that would help us create a better product.

    $50-$200 per second of animation is common for game-quality hand animation, and for a game like Oblivion or Mass Effect with tens of hours of audio, it's just not an option. Indie developers work on a different scale, but they certainly don't have more resources to throw at the problem.

    @pkid, we are looking into pricing. Unity is doing a great job growing the market and that will help us offer competitive pricing models.
     
  8. cephaslr

    cephaslr

    Joined:
    Nov 27, 2011
    Posts:
    3
    So my game is a dialog game so I don't have to worry about too much walking. I would however like to have a character shake their head while talking or nod approvingly, wave hands, etc. I could just trigger them as separate animations but I liked the event interface in the main FaceFX application. Perhaps I can put in events that automatically trigger Unity animations as the audio animations are triggered? What do you suggest?
     
  9. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    @facefx - Glad to hear you are looking into the pricing, it would be awesome to be able to pick up facefx studio instead of having to settle for the plug in. Please post any pricing changes / deals / sales here so we'll know. Thanks.
     
  10. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Now you've got me very interested ;-) ... I'm considering getting a license for FaceFX Studio Professional and I think the tool is certainly worth its price. However, it's just too much for my current budget. I really liked what Allegorithmic did for their Substance Designer: For Unity Pro: 40% Discount on Substance Designer 1.2 and 2.0. I guess such a discount for Unity Pro users would help users like myself a lot - and also give you a nice increase in sales ;-)

    The plugins seem to be a great offer but I also need German analysis which only Studio offers and I am using modo for modeling for which there currently is no plugin (a Blender plugin might help with that even though I'm not really using Blender, yet).

    EDIT: Btw, you might consider putting your demo on Unity's asset store. That will make FaceFX more visible to Unity users. People finding FaceFX through this thread wouldn't have to search the other thread to find that demo. Actually, after looking again I found out it's also linked from the Unity Demo page - but when I looked for it on the Unity Integration blog posting Unity Integration where I would have expected it, I didn't expect the demo to have that link so I didn't follow the link to the demo where I would have found the link ...
     
    Last edited: Nov 30, 2011
  11. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    I'll keep this thread posted on pricing.

    In FaceFX 2012, an event's "payload" is used to trigger a full body animation. It's been on my todo list to implement a similar system in Unity, so if you can wait for a week or two I'll try to update the demo. If you need something right away, take a look at the 2012 evolver sample content. To trigger a full body animation from an event, we set the payload to something like game: playanim <ogre_animation_name> I'll try to do something similar for Unity. Then when I parse the XML, I'll insert unity animation events in the timeline at the appropriate spot.
     
  12. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    OK, you asked for it, you got it. OC3 has announced our December Unity Sale. 50% off FaceFX Studio Professional licenses to all Unity Pro users. Just email us your unity pro invoice number to info (at) oc3ent.com and we'll email you instructions!
     
  13. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    This is great! I will be sending an e-mail today, can't wait to get facefx studio. For anyone else thinking about this, I have been watching facefx for over a year waiting for a sale and I have never seen any sales before, so this is a pretty rare opportunity.
     
  14. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Oh wow - you guys truly rock! I'll certainly take advantage of that! So soon, so cool! I'm in awe!

    <warmsUpHisCreditCardAndLooksUpUnityProInvoiceNumber>
     
  15. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    Just purchased it. Thanks for the sale.
     
  16. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Installing right now :)
     
  17. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    I've attached a modified FaceFXControllerScript file that will trigger full body animations based on events with a payload. So if you have a "cough" animation exported for your Unity character, a facefx event with the following payload will trigger it:

    Code (csharp):
    1. game: playanim cough
    This is the same syntax that will trigger the "cough" Ogre skeleton animation in FaceFX Studio if it exists.

    This only works on FaceFX 2012.1 because the XML needs the "event_take" section which was added in 2012.1. When a FaceFX event with a payload is found, a new Unity animation is created with a name similar to the initial FaceFX animation: animgroup_animname_eventtrack. I needed to create a new animation because FaceFX animations are not simply played..they are "force ticked" and this does not fire unity events.

    It will take me a while to implement this in the sample content and post a new package, but I wanted to share this with cephaslr and anyone else who wants to take a look in the meantime.
     

    Attached Files:

  18. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Editor Scripts for creating animation assets and "reducing" facefx_loop_anim for Evolver characters

    Note: This also has its own thread on the FaceFX forums: Unity Editor Scripts for creating animation assets and "reducing" facefx_loop_anim for Evolver characters

    I wrote two tiny little editor scripts for Unity that I felt might be useful for other people, too.

    Use case:

    a) I want the animations that FaceFXImportXMLActor adds to the character that has FaceFXControllerScript attached to be available as assets in my project. This makes it easier for me to edit the animations or properly put them into version control, if I need to. Furthermore, this makes it possible to create proper prefabs (with animations that are not in the project, the animations are only available in the prefab instance you imported the animations on, not the prefab itself). This is done in DoCreateAnimationAssets() which you can call through the menu Assets/Create Animation Assets when you put the script below in the "Editor" folder. You might need to create the folder "AnimationClips" in the root of your Unity project (not sure if that's auto-created if it's not there, yet - otherwise, you'd get an error message).

    b) I'm mixing full body animations from other sources (idle, sit etc.) with the FaceFX lip-sync animations. For that purpose, facefx_loop_anim must not animate any bones except for the facial bones, so instead of having to click about a gazillion times to remove all those dead animations manually, I've created an editor script. This one is dangerous - only touch it if you know what you're doing; don't blame me if you used it one some animation and then it doesn't work anymore because you deleted too much ;-) ... but if you know your animations (check them in the animation editor first), and precisely understand what the code does, this may be useful for you. The way I use this: First, I use "Create Animation Assets" to get an animation asset called facefx_loop_anim (in the folder AnimationClips). I select this asset in the project view. With facefx_loop_anim selected, I use the menu Assets/Fix facefx_loop_anim ... and then I can happily mix body and facial animations ;-)

    So here's the code (hopefully that comes across correctly in the forum):

    Code (csharp):
    1. using UnityEngine;
    2. using UnityEditor;
    3. using System.Collections;
    4.  
    5. public class CreateAnimationAssets : MonoBehaviour {
    6.  
    7.     [MenuItem("Assets/Create Animation Assets")]
    8.     static void DoCreateAnimationAssets() {
    9.         if (Selection.activeGameObject.GetComponent<Animation>() != null) {
    10.             Animation anim = Selection.activeGameObject.GetComponent<Animation>();
    11.             foreach (AnimationState animClip in anim) {
    12.                 AssetDatabase.CreateAsset(animClip.clip, string.Format("Assets/AnimationClips/{0}.anim", animClip.name));
    13.             }
    14.         }
    15.     }
    16.  
    17.  
    18.     [MenuItem("Assets/Fix facefx_loop_anim")]
    19.     static void DoFixFaceFXLoopAnim() {
    20.         if (Selection.activeObject != null  Selection.activeObject is AnimationClip) {
    21.             AssetDatabase.StartAssetEditing();
    22.             AnimationClip selectedClip = (AnimationClip) Selection.activeObject;
    23.  
    24.             AnimationClipCurveData[] curves = AnimationUtility.GetAllCurves(selectedClip);
    25.             foreach (AnimationClipCurveData curve in curves) {
    26.                 if (!curve.path.Contains("Neck")) {
    27.                     for (int i = curve.curve.keys.Length - 1; i >= 0; i--) {
    28.                         curve.curve.RemoveKey(i);
    29.                     }
    30.                     string propertyName = curve.propertyName;
    31.                     // we can't delete "*.x", e.g. m_LocalScale.x - but only "*", e.g. m_LocalScale
    32.                     if (propertyName.IndexOf(".") > 0) {
    33.                         propertyName = propertyName.Substring(0, propertyName.IndexOf("."));
    34.                     }
    35.                     Debug.Log(string.Format("Fixing: {0} - {1}", curve.path, propertyName));
    36.                     selectedClip.SetCurve(curve.path, curve.type, propertyName, null);
    37.                 }
    38.             }
    39.             AssetDatabase.StopAssetEditing();
    40.         }
    41.     }
    42.  
    43. }
    44.  
    Feel free to comment (there might be better ways of doing this).

    Here's the file for direct download instead of copy'n'paste: View attachment $CreateAnimationAssets.cs
     
  19. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Hi Jashan,

    Thanks for this!

    The loop animation is only played on the "FaceFX Reference Bones" The evolver sample content includes all bones in the reference pose, but if you have other animations playing, then you will only want the face bones there.

    To fix, I opened up the EvolverActorFile.xml and deleted the unwanted bones from the reference pose. Then I opened the XML file up in studio, deleted the empty bone poses, and re-exported the XML to get a clean version. Attached is the new file (remove .txt extension). Let me know if you have problems with this approach.

    You could also do this from the plugins by simply exporting a new reference pose at a frame where the character is in the neutral position. When you export a new reference pose, it's always a good idea to batch-export all of your bone poses (especially if you have added bones to the reference pose).
     

    Attached Files:

  20. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    That might have been the easier approach - thanks! ;-) ... and both actor files in the project will also help; so I can pick whichever is most suitable for the situation.
     
  21. cephaslr

    cephaslr

    Joined:
    Nov 27, 2011
    Posts:
    3
    In reply to the facefx post earlier:


    Thanks, I got this working. It helped to also use your "EvolverActorFile-faceonly" Xml you included, and I realized your script was messing with my characters loop anim prior to using it (unless I am mistaken). Now I got it working with the custom events you were speaking of, which are events I make in the professional studio program that trigger a callback within unity to play the animation. Thanks for helping me adhoc and I look forward to learning this product more in the future. I really need a "Unity/FaceFX animations for dummys" wiki, as this information is scattered between blogs, videos, and some documentation. At any rate, thanks again!
     
  22. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    I'm not sure what you mean by this. The loop animation is created from the reference pose when you import an XML Actor file. You can't specify your own loop animation, and I'm not sure why you would want to because you need the reference pose to form the "base" that the bone poses animate on top of.
     
  23. imran.hoshimi

    imran.hoshimi

    Joined:
    Aug 9, 2011
    Posts:
    5
    I tried converting the demo face fx project to android and its giving me errors, 100+, mostly

    ERRORS
    Assets/DialogueActions.js(649,110): BCE0048: Type 'Object' does not support slicing.

    Any solution?
     
  24. imran.hoshimi

    imran.hoshimi

    Joined:
    Aug 9, 2011
    Posts:
    5
    I am using Unity 3.5 beta
     
  25. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Unfortunately, I don't have a license for Android yet. Does the more simple "phraselocked" scene compile? The "DialogueActions.js file is really just for the demo, but it is definitely a priority to make sure that the FaceFX Controller script works on all of the platforms.
     
  26. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    There is a new integration that fixes some potentially serious issues and is easier to use.

    Bug Fixes:
    1. Fixed bug where importing XML files only worked on characters that were at the root of the scene.
    2. Fixed bug where Importing XML files on characters with non-zero transforms could corrupt animations. When the facefx_controller object and its sub objects were created, the transforms could be inherited from the character, causing the position.x values to be corrupted with non-zero values. This would then impact animation playback.
    Features:
    1. Created custom GUI for the FaceFX Controller script. This replaces the Asset menu options for importing XML files. It also makes it more clear that changing the Scale Factor and “Use FBX Reference Pose” options impact how XML files are imported.
    2. Added warning if you import an XML file with any links in the Face Graph to help remind you to collapse the face graph with the fgcollapse command.
    3. Added evolver XML actor file that only uses the face bones only without changing bones in the body.
    4. Playing FaceFX animations over body animations is now supported.
    5. FaceFX events with a payload will now cause Unity animation events to be created and fired during playback.
    6. Added exportUnityXML.py python script to make it easy to collapse the face graph and export an XML file in one step from FaceFX Studio.
     
  27. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Wow, this is awesome timing ;-) I ran into the issue that importing only worked on characters that are at the root of the scene just recently.

    Locally, I also just fixed an issue when re-importing an XML Actor file (replaced "DestroyImmediate(existing_controller)" with "DestroyImmediate(existing_controller.gameObject").

    There's one thing I don't think I'll be able to fix, though ... would be great if this would already work in the new integration:

    I noticed that quite a few curves aren't coming over into Unity, e.g. Head Roll, Head Pitch, Eyes Pitch, Eyes Yaw and so on. Debugging and searching the XML-files it seems the problem always occurs when there's an "FxCombinerNode". I do get the FxBonePosNodes, like Head_Roll_Pos and Head_Roll_Neg - but those don't seem to have animation curves (I get the objects below facefx_controller and the animations - but in the actual speech animations Default_*, those are never mapped even though I do have them in FaceFX).

    Is that fixed in the new integration?
     
  28. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Cool, I think this is the fix I was looking for :)
     
  29. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Sounds like you have it all figured out, and the new integration files came just in time. But for clarity:

    In the new integration, if the XML file has any combiner nodes, we issue a warning. You always need to run fgcollapse to get rid of combiner nodes and bake curves down to the bone pose nodes. The included python file makes things slightly easier by collapsing and exporting to XML in one step. We'll try to make this even easier in the next version.
     
  30. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    The warning is really nice - that was when I had another look at the release notes and realized "problem solved" ;-)

    I think the other issue I ran into were the non-zero transforms. It felt kind of random and I guess that was because it depended on where the characters were positioned in the scene.

    It's also really nice that now the characters can be anywhere inside the scene hierarchy - and the custom GUI is also much nicer than the previous menu-based approach. Kudos to FaceFX for creating awesome facial animation tools that work seamlessly with Unity ;-)
     
  31. sybixsus2

    sybixsus2

    Joined:
    Feb 16, 2009
    Posts:
    943
    A question for either the developers or people who are using FaceFX with Unity. Does it work on iOS? How is performance on iOS?
     
  32. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    There is a post about the FaceFX forums about this:

    The current integration needs a few modifications before running in Flash. I'll roll these into the new version.

    1) In FaceFXControllerScript.cs, delete the "using UnityEditor;" and
    "using System.Xml;" lines at the top.

    2) In FaceFXControllerScript.cs, comment out the function bodies to the ImportXML and ImportXMLAnimations functions, but leave the function signatures. (Obviously, you will need to make sure your characters have the FaceFX data imported on them correctly before you do this).

    3) Delete the DialogueActions.js file from the project.

    4) Declare the following two variables at the top of the PhraseLockedDemo.js script:

    Code (csharp):
    1. private var animState : AnimationState;
    2. private var ffxController : FaceFXControllerScript;
    You can see an example on the other post. There are a few visual artifacts I am looking into that don't appear to be the result of the FaceFX controller because the bones have the proper transforms.
     
  33. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    There is a new version of the integration that is fully compatible with Unity 3.5 available here.

    Unfortunately, I had to remove the ability to import XML actor files dynamically. You have to Import XML files from the Unity Editor now. If anyone was relying on this feature, let me know.

    I'm very excited about the FaceFX 2013 release coming out in a few months. We've greatly improved the FBX workflow inside of FaceFX Studio, and the exporting FBX files for Unity is a snap. Many people may just want to use Unity's FBX animation system at that point unless keeping animation data size small is absolutely critical.
     
  34. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    Is "export for unity" included in FaceFX Studio?
     
  35. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    No, not in FaceFX 2012. You need to collapse the face graph with fgcollapse then load up that file and export an XML. A script that does this could look something like the one below. You could save this as ExportToUnity.py in your Documents\FaceFX Studio 2012\Scripts folder and launch it like:

    Code (csharp):
    1. exec -f ExportToUnity.py
    You could even add the command to a quicklaunch button.

    Code (csharp):
    1.  
    2. import FxStudio
    3. import re
    4. import os
    5.  
    6. actor_path = FxStudio.getActorPath()
    7. if len(actor_path) == 0:
    8.     raise Exception('Error', 'Please save the actor first!')
    9.  
    10.  
    11. # Avoid getting pop-ups about missing render assets and other warnings.
    12. FxStudio.setConsoleVariable('g_unattended', 1)
    13.  
    14. # Save the file.
    15. FxStudio.issueCommand('saveActor -file {0}'.format(actor_path))
    16.  
    17. # Export a collapsed version of the file.
    18. FxStudio.issueCommand('fgcollapse -file {0}'.format(actor_path))
    19.  
    20. collapsed_actor = re.sub('\.facefx', '-FG_Collapsed.facefx', actor_path)
    21.  
    22. if not os.path.exists(collapsed_actor):
    23.     FxStudio.setConsoleVariable('g_unattended', 0)
    24.     raise Exception('Error', 'Could not load collapsed actor!')
    25.  
    26. # Load the collapsed actor.
    27. FxStudio.issueCommand('loadActor -file {0}'.format(collapsed_actor))
    28.  
    29. # Create an XML file in the same folder as the .facefx file.
    30. xml_actor = re.sub('\.facefx', '.xml', actor_path)
    31. FxStudio.issueCommand('actorxml -file {0}'.format(xml_actor))
    32.  
    33. # Load the original actor back up.
    34. FxStudio.issueCommand('loadActor -file {0}'.format(collapsed_actor))
    35.  
    36. # Turn back on error messages.
    37. FxStudio.setConsoleVariable('g_unattended', 0)
    38.  
     
  36. ykk

    ykk

    Joined:
    Dec 8, 2009
    Posts:
    51
    Is't have any tutorial or example for exporting morph target model(without bone model) from facefx to unity.
     
  37. Phil™

    Phil™

    Joined:
    Jan 2, 2011
    Posts:
    73
    Actors only or would this prevent me from streaming just the animations for an existing actor as well? I'm making a game with a LOT of speech and facial animation. Loading every animation for every character in every scene would be completely out of the question. That would be a very big problem for me.

    Well that might be a solution to the problem above, I guess, but I only just paid for Face FX Studio Pro 2012. How much will it cost me to upgrade to 2013?
     
  38. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Currently, all XML importing (Actor and Animation) takes place in the FaceFXControllerScriptGUI.

    There are a few ways around this. One option would be to create .anim files for all FaceFX animations using a technique like described here. Then you could stream in your .anim files at will. I will look into adding this as a feature for the FaceFXControllerScriptGUI.

    Another way would be to revert back to the old FaceFXControllerScript code. You would have to yank where we go through the FaceFX events and insert Unity events because the the AnimationUtility.SetAnimationEvents function we use if for editor use only.

    Going with FBX would be another solution (similar to the .anim one mentioned above). As far as upgrade pricing, we are not ready to announce pricing for version FaceFX 2013, but we will make sure the Unity community is taken care of.
     
  39. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    Hi facefx ,

    1. Does the plug-in for 3d modelling program has same features as the full version standalone program?
    2. Will there be any plug-in for modo?
     
  40. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    No, the plugins only have very basic functionality. Here is a comparison chart.

    Not in the immediate future, but it sounds like there is some FBX support in Modo. FaceFX 2013 will have an FBX-centric pipeline so if you can create FBXs and import FBXs in modo, you might have what you need.
     
  41. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Please check out the FaceFX 2013 Beta and let us know what you think.
    http://www.facefx.com/content/facefx-2013-beta-release

    There are some goodies for Unity developers. For starters, the new FBX pipeline means that FaceFX will work from the same source files as your Unity project. We even support the @anim_name.fbx syntax to power your FaceFX animations with body gestures. (take a look at Mixamo's body gesture pack for a good example).

    Here is a video that demonstrates the pipeline:
    https://www.youtube.com/watch?v=axWRwPDWE2E

    If you have any FBX content that works in Unity, but not in FaceFX, please let us know while we are in beta!
     
  42. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,458
    This is pretty interesting... because I have been looking for ways to use blendshapes inside of Unity... and the price point is not bad for a plugin for XSI... and I guess I would have to play some audio in the background and match up the lip shapes myself... also will this work in XSI 7.01?

    EDIT: Supports XSI 7... sweet. and I am also doing facial animation for indicating fight damage, like a swollen face after a boxing match
     
    Last edited: Aug 8, 2012
  43. NoBullIntentions_P

    NoBullIntentions_P

    Joined:
    Jul 2, 2012
    Posts:
    311
    The new pipeline video looks great! Any information on upgrade pricing from Studio Pro 2012 to Studio Pro 2013 yet?
     
  44. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    I watched the video, I was wondering if there are difference in how you integrate FaceFx inside of Unity (like the Unity script FaceFx supplied before) or if the differences are just in how you get your character set up inside of FaceFx studio?
     
  45. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Sorry, been out in LA for Siggraph.

    Keep in mind that FaceFX Studio supports blendshapes, and the FBX files that FaceFX 2013 generates do too, but FaceFX does not add morphing support to Unity. You will need to use an external morphing scripting solution, then hook up FaceFX curves to that.

    Also, we support the last 5 animation packages, so XSI 7 still makes the cut in FaceFX 2013.


    Sorry, not yet. We are announcing pricing when we release.

    The FaceFX Controller Script will still work, and we've made it easier to export a collapsed XML file with our new FaceFX Studio python plugin system. But I think most people will just use FaceFX to generate FBX files in 2013. So FaceFX will be FBX-in and FBX-out.
     
  46. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    I like the idea of FBX in FBX out, but I know one of the benefits of using the XML with facefx was the space savings. Can you give me an idea of the size difference between a FaceFX animation saved with XML vs FBX?
     
  47. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    I just got back from Unite, and I wanted to give everyone an update. They haven't posted the video from our talk yet, but we announced a new price of $899 per seat! So major discount moving forward. Upgrades will be available for $299. We will no longer be licensing analysis plugins, but Max, Maya, and XSI plugins will be available for free that can import animations into those packages if you don't want to use the FBX pipeline. Analyzing audio will only happen in FaceFX Studio which has the new simplified FBX pipeline.

    We are working to get FaceFX 2013 released at the end of this week.

    It's true that the FBX pipeline will result in larger files (considering facial animation data only, the XML pipeline was 70-90% smaller if I recall correctly from the tests I did comparing Unity output filesize). Because of this, some applications may still use the pose-based system (at least until Unity supports pose-based animation channels natively which I hear is in the works). But for most applications, the simplified FBX pipeline is a big improvement. And remember, you need audio too, so regardless how small the animation data gets, there is no way around the fact that each animation will take significant space.
     
  48. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Is it compatible with Unity 4 Mecanim?
     
  49. NoBullIntentions_P

    NoBullIntentions_P

    Joined:
    Jul 2, 2012
    Posts:
    311
    Thanks for the information. Expect a purchase from me as soon as it becomes available. The FBX pipeline is very appealing.
     
  50. facefx

    facefx

    Joined:
    Jan 18, 2010
    Posts:
    116
    Mechanim doesn't have support for pose-based animations yet, so for the facial animation side of things, no. But when the Unite presentations get posted, you will see how FaceFX can trigger body animation clips. Those could be triggered with Mecanim, and I'll probably work on a Unity script for converting FaceFX events into Mechanim clips after release.