Categories & Tags
Archive

What’s next on Mecanim roadmap

December 7, 2012 in Technology by

Hi everyone,

After the excitement of the Unity 4 release and the creative blast of Ninja Camp, it’s time for another Mecanim update.

Unity 4 with Mecanim brings beautiful efficiency and ease of use to creating AAA animation for your interactive content. But that was just the first iteration of our new animation system! Here are some details about new features and updates in the roadmap.

Our immediate main task is to polish the animation creation tools and workflows. We plan to open the Mecanim API to create and control Animators, allowing you to create and set up State Machines and Blend Trees completely from scripting. We’ll make it possible to control the flow of a State Machine by forcing Transitions and time progression in States. Finally, we plan to develop cool new features like 2D Blend Trees and IK for fingers. Here’s a short list of planned features:

- Discover State Machines and Blend Trees that use a Parameter
- Create State Machine to State Machine Transitions
- Use different icons in State Machine for Animation Clip or Blend Trees
- Animation Events for Mecanim
- Ability to zoom/dolly in Animator Preview window
- Hot swap of controllers at runtime
- Make Foot Bottom Height available in public API to help foot planting and similar IK rigs
- Trajectory Node for Humanoid Clip
- Runtime mirror and cycle offset. In States and Blend Tree Leaves
- 2D Blend Trees
- Controller recording
- Auto Ragdoll

We worked on some of these  planned features at Ninja Camp VII, which you can read more about here.

That’s it for now.  Thanks!

 

Share this post

Comments (41)

Comments are closed.

Valentin
7 Dec 2012, 7:46 am

Add IK affectors for elbows!!

Robert Lanciault
7 Dec 2012, 10:18 am

I have added “IK hints for elbows and knees” in our roadmap ideas!

7 Dec 2012, 11:52 am

Thats really all great and can’t wait. Any chance to support Asset bundles? thats the only thing that keeps us from using mechanim right now and its a shame really :/

Eli Curtz
7 Dec 2012, 1:18 pm

Please consider API support for avatar definitions as well. That would let us do lots of fun stuff like procedural characters and rigging entirely within Unity.

Luka Kotar
7 Dec 2012, 3:00 pm

Some very impressive features coming up, I see. I am though wondering, if there is any chance we’ll see any feature to ensure the fingers (humanoid rig) are on the surface at certain events, anytime soon?

7 Dec 2012, 4:39 pm

Auto Ragdolls? That sounds too good to be real…especially for a fighting game that I am working on that will require physics reaction to hits and blows… I haven’t fully tested out Mecanim, but this is definitely something I am looking forward to using for YEARS to come

Sunny
7 Dec 2012, 6:36 pm

How about retargeting legacy animation clips? (ex. Mixamo)

7 Dec 2012, 10:50 pm

All good… After that, since you gonna auto generate ragdolls, make sure you build next a system like Natural Motion’s Euphoria!! :)

How much is 3+10?? Damn you rocket science…

Soemardjo
8 Dec 2012, 7:10 pm

is it Support for the Lower Version too ???

9 Dec 2012, 2:31 am

super

Dave
10 Dec 2012, 5:52 am

Is there an expected release date for the next version? I am especially interested in the ragdoll transitioning, as this is something I was just looking at coding up myself. If it’s coming up reasonably soon, then I may just wait and use the new systems.

Setting states and transition through an API would also be incredibly useful to me, as I could script a system to update Animators on load, instead of having to have a lot of Animators that are 90% the same, but with a few different clips.

10 Dec 2012, 6:06 am

“Runtime mirror and cycle offset. In States and Blend Tree Leaves”

Can you elaborate on this one please? Does this mean clips can be mirrored at runtime without needing to create them in the import setting like the case now? (So things like Strafe Left will just be mirrored at runtime to get the right variation at no extra memory cost)

Robert Lanciault
10 Dec 2012, 8:02 am

@Gavalakis: We are currently working on Asset Bundles/Mecanim case.

Robert Lanciault
10 Dec 2012, 8:05 am

@Eli: The roadmap for API is to allow the creation of everything in Mecanim, Avatars included!

Robert Lanciault
10 Dec 2012, 8:58 am

@Luka: Controlling IK for each finger independently could be painful. We did prototype grabbing of simple geometric primitives instead. With that API you “grab” spheres, cubes, cylinders or planes.

http://www.youtube.com/watch?v=Q06itxIcFSw&feature=youtu.be

Robert Lanciault
10 Dec 2012, 10:57 am

@AHMAD: You will be able to specify in a State or in a Blend Tree leaf if you want a clip to be mirrored or not. So no need to create an additional clip for the mirrored version at Import. Ex: for a walk blend tree controlled by direction, you would drop WalkLeft, Walk and WalkLeft again, but with Mirror “ON” the second time. Note that you will also be able to control the Cycle Offset of the Clip. In the example above, you would Cycle Offset the mirrored Clip by 50% so that phases match for blending.

Samuel Morais
10 Dec 2012, 2:51 pm

That are good news! The mirror at runtime is useful…
And what about support for extra objects like guns or ball (in case of sports). I am developing a football game and if I could animate the ball and use it in mecanim would be really nice. In today’s solution I was not able to animate the ball in 3D package and have it describe its trajectory in mecanim/unity. It does not move, stays at origin (i think because the ball is not a part of the character bone hierarchy)…
Thanks! Again, it is a great framework.

Jaimi
11 Dec 2012, 4:20 pm

>> Hot swap of controllers at runtime

I hope that’s a priority. Almost impossible to swap equipment around without it (ie, gun vs. rifle, etc) — unless you want to create hideously giant state machines. Unless I’m missing something! :)

Looking forward to animation events too – would like to make footstep sounds, etc. Finger IK sounds great as well – hopefully some simple interface to make the fingers basically just grasp a handle or something.

Very impressed with Mecanim so far. Going to save me a ton of time.

12 Dec 2012, 12:14 am

Something I would really like to see is a way to maintain volume of a mesh in areas like the hips, shoulders, knees and elbows on deformation. Perhaps a primitive form of Maya muscle or bone that stops the geometry from collapsing in on itself in extreme poses. Maybe something like that exists and I just have not heard of it. :)

Quique
12 Dec 2012, 2:01 am

Hi I would like to have something like mesh morpher or a FFD cage linked to the joint rotation. I’m working with a close up of the arm and it would be very useful for removing artifacts and simulate muscles, constraints etc.
Please, consider it.

JT
12 Dec 2012, 12:43 pm

Are there any plans to add quadruped support?

David
12 Dec 2012, 7:32 pm

+1 To auto Ragdolls, It’s a real pain in the ass. What’s available on the asset store isn’t pro at all…

David
12 Dec 2012, 7:40 pm

+1 to finger IK too ^^

13 Dec 2012, 10:37 pm

2D blend trees would be really useful. The feature looked pretty finished, so I hope we’ll see it soon.

Akira Kido
14 Dec 2012, 8:14 am

The next update, will suport foot replacement system like locomotion system ? I hope unity will have it.

bob
14 Dec 2012, 12:20 pm

@JAIMI: Yeah! A priority… “Hot swap of controllers” is already in the process of being released!

About foot step sounds, “Additional Curves” does a great job at it. Look At Mecanim Tutorial to know more about those. Around time 28:00

http://video.unity3d.com/video/7362044/unity-40-mecanim-animation

7 Jan 2013, 12:25 pm

All these new features sound great!

I have a thread going in the forum about using Mecanim re-targeting with 2D characters. Any consideration for extending Mecanim to work with 2D?
http://forum.unity3d.com/threads/165118-Unity-Mecanim-Retargeting-for-2D-characters

Or said a different way:
Dialing the mecanim requirements of retargeting back and create an advanced mode, leaving it up to the user to decide on the number of bone, starting pose etc.

Mecanim is a huge feature that I’m sure could be used in a bunch of different ways if opened up. For my current project we built our own custom re-targeting system for 2D because our game depends on it, but it would be great to use something that fits into the unity animation workflow.

Keep up the good work dudes!

Timur
10 Jan 2013, 5:06 am

Hi,

Could you please let me know about estimates for Mecanim API to be able to create/change state machines dynamically? Mecanim seems to be very nice tool and such functionality will make it possible to use Mecanim in projects with dynamically created characters (from many parts with different animations).

Thanks in advance!

bob
10 Jan 2013, 8:54 am

@DAVE: First I would say that retageter was not meant to drive 2D anim… but why not? I gave it a try and was kind of successful!
- Consider you character as a 3D model when setting the T-Pose. Roll upper arms 90 degree so that elbow hinge axis points Up. Roll upper legs so that knees hinge axis are parallel with world X.
- 2D animation should then be projected correctly on 3D dof.

Would it be possible to get some of your content to validate what I propose above? (my test case was kind of fake 2D stuff, not real user data)

bob
10 Jan 2013, 9:03 am

@TIMUR: Opening Mecanim API is top priority on our short term roadmap.

“create/change state machines dynamically” will be available soon in a point release.

11 Jan 2013, 2:44 am

Any ETA on “Animation Events for Mecanim”?

bob
15 Jan 2013, 10:53 am

no ETA, but some hope! it’s coming…

bob
15 Jan 2013, 1:31 pm

@JOSH: Could you give me the use cases of how you would use Events with Mecanim?

Mike
23 Jan 2013, 9:24 am

@BOB, I don’t know how Josh would use it but one obvious example of anim events is to trigger both visual and sound effects in an attack animation at the “right time”. Such as damage flyoffs, particles and impact sounds.

BILL
31 Jan 2013, 5:29 pm

@BOB, Is there an ETA on the “Animation Events for Mecanim”? This is a critical feature we need for development… surprised that it was omitted. Just like MIKE said, it’s crucial for timing soundfx, visualfx, and other important things requiring knowing at what frame/time we are in the animation. Thanks!

JOE
5 Feb 2013, 9:57 pm

Alternatively, spawning particles for a shooting animation, or spherecasting for a spell animation, apply stat bonuses at an exact moment, etc.

Josh
7 Feb 2013, 8:03 pm

Yes, what Mike and Bill mentioned (for example, audio for footsteps). Using curves is a bit convoluted for triggering single events, especially if you need parameters, and would basically require creating my own event system, which seems silly when one is in the works. Someone created something in the asset store, which looks like a good stop-gap:
https://www.assetstore.unity3d.com/#/content/5969
http://forum.unity3d.com/threads/162196-How-do-you-use-animation-events-in-Mecanim

8 Feb 2013, 7:03 am

artikelnya sangat informatif sekali..terimaksih banyak

Derek Traver
15 Feb 2013, 10:32 am

I know this is old, but please, add the ability to change individual state speeds from script at runtime.

25 Feb 2013, 7:05 pm

This blog is truly a gold mine. I have been wallowing on this for quite sometime and here I am reading about it!

bOb
1 Mar 2013, 10:21 am

@Derek Traver: individual state speed from script at runtime is on short term roadmap

Leave a Reply

Comments are closed.