Search Unity

「Kinematica」― 機械学習による新しいアニメーションシステムの発表

, 6月 20, 2018

私は長年の間、ある問いを胸に抱き続け、答えを求めて取り組んで来ました ―「もし、複雑なアニメーショングラフに悩まされることなくゲームが制作できたならどうだろう?ネストされたステートマシンを設定したり、手動でトランジション点を作成したり、ポーズをマッチさせたりといった作業に割かれていた時間を、アート自体の制作に費やせたとしたら?」

私たちは、従来とは根本的に異なるアニメーションシステムの開発に着手しました。このシステムは、グラフやブレンドツリーのような多層構造に依存する必要のないモーション合成を可能にします。この技術によって単純な手作業の量が削減されれば、アーティストが本来の仕事、つまり美しいアートワークの創造に集中できるようになるでしょう。

今週 Unite Berlin 2018 で行われた基調講演で、Unity Labs が開発したまったく新しい試験的パッケージ「Kinematica」が発表されました。今年中に Unity で利用可能になる予定です。

従来のシステムとは異なり、Kinematica はすべてを単一のライブラリに保持し、そのライブラリ内の小さな断片を、コントローラー入力や環境コンテキスト、その他あらゆるゲームプレイのリクエストに応じたシーケンス内に組み合わせる方法を(リアルタイムで自動的に)決定します。

このシステムの設計にあたってはアニメーションの質を重要視しています。このため、アニメーターの作成した元々のアニメーションや入力データの精度には一切変更を加えることはありません。そしてキャラクターのアニメーションは(皆様のゲームデザインに応じて)ご自身で設定することも可能です。また、アニメーションが環境とどのようにインタラクトするかも調整できるようになっています。


こういったシステムにおいては、スケーリング可能であることが非常に重要です。そこで、この技術がどの程度の負荷に耐えうるか試すために、モーションキャプチャーデータを使ってテストを行うことにしました。モーションキャプチャーデータは基本的に、最もサイズが大きく、最も構造化されていないアニメーションデータです。モーションキャプチャースタジオを借り、パルクール専門のスタントマンを雇って数時間ジムの中で走り回ってもらいました。結果、7 万種類のポーズと 45 分を超えるアニメーションデータが取得できました。そして Kinematica を使って、これらのデータからダイナミックで滑らかなアニメーションを作成することに成功しました。

このシステムの利点は、例えば高品質で洗練されたビジュアルや、高い対応力(同じデータセットから多数のバリエーションの作成が可能)などが挙げられます。また、アニメーショングラフの手動作成が一切不要であるため迅速なイテレーションが可能で、その分アートに集中できることも大きなメリットです。

Kinematica の公開予定時期に関しては、この夏、追ってお知らせしますのでお楽しみに!

Unity Labs のページもぜひご覧ください。

40 コメント

コメントの配信登録

コメント受付を終了しました。

  1. So by saying this isn’t the brute force way of motion matching, that leads me to assume that it is more along the lines of this example? —-> https://www.youtube.com/watch?v=Ul0Gilv5wvY

    If not this kind of work flow i would love to hear and or see how it is implemented. And what kind of database it uses to pulls all these animations and the kind of network of how it knows what animation to placed. I have many more questions on how you would use this in states such as combat, locking-on, etc. But i will wait for more information when it is released.

    1. Michael Buttner

      8月 13, 2018 12:45 am

      Hi Dave,

      Kinematica is similar to PFNN’s in that you can use unstructured animations, but it is more general purpose since the goal is to be as versatile as Mecanim (PFNN only works with very regular looping animations).

      I’m going to present how to use Kinematica from a gameplay programming perspective this week at SIGGRAPH – https://s2018.siggraph.org/presentation/?id=gensub_445&sess=sess265

      Here the video accompanying the presentation – https://youtu.be/1Jt0F8F3ahY

      1. Will this be live streamed at SIGGRAPH?

  2. I think Kinemetica ‘s most important keyword is unstructured motions.
    I saw dog player . Just I play with my dog , Maybe I get dog quadpad animations.

  3. Any news? I’m dying to try this! (Should make AI animation a lot easier, I hope.)

  4. Luis Paolino

    7月 9, 2018 1:04 am

    Looks so fantastic! Wondering about the dynamic cloth you guys are using, what is that? Is any kind of real time dynamic bone with collide or what technics are you guys using? Been using the old Aseet Dynamic Bone for years but looking for something more advance. Any one!?

  5. I’m making some high quality creatures for the asset store and I was wondering…

    How does this affect which animations I decide to make? With root motion you need to create zillions of variants for movement to get the right look for turning and strafing and walking backward, curving backward, rotation in place…. then do it again for running and then again for an agro mode etc. I’m wondering just what kinematica changes in this process… I wonder if I’m wasting time producing art for a system (mechanim) thats about to be replaced.

    And I have yet to see an answer– Is this just for the humanoid rig or is this adaptable to other generic rigs with perhaps many more legs?

    To tell you the truth I don’t really know what kinematica is doing. Smarter blends…. and this allows me to not use transition animations… or perhaps I can just give it a couple in between poses and let kinematica do the rest of the animation to save huge time. Perhaps it helps with impact/pain/hit animations in some way thats better than an additive flinch. Perhaps it helps the creature/player look around with head movement…I have no idea. But my imagination says if it can help save animation time, its the best invention for Unity yet. Is there any way to learn more sooner than later, or participate?

    1. Michael Buttner

      7月 3, 2018 10:36 pm

      Hi Herb,

      you don’t need to provide more animations than you’d need to create for mecanim. But instead of arranging animations in a parametric blend node you just provide the animations without any structure. Transition animations will be automatically be picked up without you creating an intermediate state. Just imagine you create the same content you’d create for a mecanim based system, but you no longer need to create state machines, transitions or blends.

      Kinematica doesn’t use the humanoid rig, it works with any skeleton. You can animate any kind of creature with it.

      Kinematica does not create blends and it does not “create” animations, it uses the animations you feed into the system and produces poses frame-by-frame based on a description of how you want your character to move. Imagine you draw a line on the ground and as a result you get an animated character using the animations you provided.

      Unfortunately there’s not much more information available right now, we’re working hard to have an update as soon as possible.

  6. Tufan Aydin

    7月 2, 2018 9:38 am

    When time coming this Demo? It’s seems incredible.

  7. jhon miller

    6月 29, 2018 2:33 am

    Machine learning is very important to the animation. because many types of animation are there in machine learning which is very important to me. you can also go to the link https://chathelp.org/gmail-support/ which provides the best support.

  8. Sounds like a very useful tool. Can’t wait to try it out!

  9. You should replace the demo video. I went to see the Unite video to understand what this really was, the video you posted seem just a regular motion capture animation.

    1. Michael Buttner

      7月 3, 2018 10:26 pm

      Hi Chris,

      you’re absolutely right, thanks for your feedback.

  10. That’s really some interesting news. I have two concerns though, First of all I don’t know if the system will be modifiable, will we have access to the source code ? and second, what if we want to mix Kinematica and another system ? for example something not handled by kinemtatica and only by the animator controller, will I be able to stop kinematica switch to the animator controller and then switch back ? If kinematica won’t be open source, it would be helpful if it will have a kinematica playable like the animator controller playable so we can swtich to other systems. Thanks

    1. Michael Buttner

      7月 3, 2018 10:26 pm

      Hi John,

      Kinematica has been implemented as a playable in order for it to integrate well with the rest of the animation system, so it is up to you to switch between Kinematica and other operations. Although the goal is to not have to switch between different systems. Kinematica allows to inject specific animations if you wish to do so. Also, it is not a black box implementation, you’ll have fine grained control over the movement and animation poses.

  11. Robert Cummings

    6月 23, 2018 11:54 am

    It’s not motion matching. It’s far better (if anyone is reading).

  12. good post.thank you

  13. how long we have to wait to use this 3 to 4 years from now ?

    1. Michael Buttner

      6月 22, 2018 5:18 pm

      We’re working hard to have you get your hands on Kinematica by the end of this year.

  14. James Griggs

    6月 22, 2018 1:03 am

    Is this what is happening with Kinematica, is it similar to what is happening in this GDC talk? https://www.youtube.com/watch?v=KLjTU0yKS00

    1. Michael Buttner

      6月 22, 2018 5:15 pm

      Kinematica will indeed feature a full body inverse kinematics system that can be used to procedurally modify the generated animation frames, similar to the talk that you linked in your comment.

      1. James Griggs

        6月 22, 2018 9:14 pm

        Woohoo! You guys are just too good!!! Another question, just to make sure I understand: Will you be able to train the system from key frame animation not just motion capture? If the answer is yes, that would allow for some stylized animation to be procedurally generated.

      2. Will this work for non-humanoid setups like in the video? My artists have some… interesting creature designs.

  15. Will this support authored animation data for stylized / NPR games?

    1. Michael Buttner

      6月 22, 2018 4:57 pm

      Kinematica supports motion captured animation data as well as handcrafted animation clips. But we haven’t yet tested the system on highly stylized animation data and presumably there will be certain cases where Mecanim will be the better tool for the job.

  16. matthew radford

    6月 21, 2018 2:35 am

    Now THIS is what i’m talking about! Such an incredible potential feature. And something that’s really helped the AAA industry. I can’t wait to use it!

  17. asus router support

    6月 21, 2018 2:30 am

    Hey, I read the post it was great for all people. Most of the people they do not know about it. Nowadays most of the place teach animation with machine learning. I do all of the course. So if you want to know it how both are very important then I suggest a site from the site you know about it in details. https://chathelp.org/asus-router-support/

    1. How is assus router support teach people about machine learning?

  18. I guess it won’t, but Kinematica isn’t going to replace Mecanim , right? These two systems can coexist and even talk to each other (adding additive animations on top of Kinematica, etc…)

    1. Motion Matching is mainly for locomotion so every other type of animation would still need to be animated through conventional means so for sure Mecanim won’t be affected. Regardless, it would really be a bummer if it’s not open source

      1. Michael Buttner

        6月 21, 2018 8:58 am

        Kinematica is not Motion Matching and has been built from the ground up to be able to support any kind of movement – not just locomotion. We already demonstrated Parkour with stable and precise environment contacts. Stay tuned for more demos coming later this summer where we will be showing a full climbing system, melee combat and physically simulated characters.

        1. So… Is Kinematica going to replace Mecanim?

      2. Pierre-Paul Giroux

        6月 21, 2018 7:21 pm

        Our prototype has .Kinematica embeded into a Playable node. This means we can use this in conjonction with our StateMachine, with Timeline etc..

        1. Awesome! So Kinematica is using the Playable API? Great news! So you can, for instance, use the Kinematica as a node and use the Playable Graph to play an Animator blending the weight between them, right?

  19. How is that different from a simple “motion matching”? Isn’t artificial intelligence literally overkill here?

    Simple Motion matching works by finding the closest posture to a given pose in a specific animation, you can brute force real time no problem at simple cost, even with look ahead and blending comparison.

    1. Michael Buttner

      6月 21, 2018 8:50 am

      Kinematica is different from “Motion Matching” in that it supports any kind of movement – not just simple locomotion. As an example we demonstrated during our keynote demo various Parkour moves with stable and precise environment contacts.

      Also, just searching for matching poses in a brute-force fashion at runtime does not scale and would be prohibitively expensive. Kinematica executes in a fraction of a millisecond regardless of the amount of animation data.

  20. This is really fantastic news, can’t wait to hear more of it. I have one question though, what will the system be like ? open source ? or a closed system like the animator controller ?

    1. Michael Buttner

      6月 21, 2018 8:57 am

      Kinematica is not Motion Matching and has been built from the ground up to be able to support any kind of movement – not just locomotion. We already demonstrated Parkour with stable and precise environment contacts. Stay tuned for more demos coming later this summer where we will be showing a full climbing system, melee combat and physically simulated characters.

      1. StormBlessedFox

        8月 8, 2018 11:26 pm

        This is awesome @Michael. However, the question @I.Fayed asked was not answered here. Could you please answer his question. Thanks

        1. @JohnT Asked a similar question, and here’s the reply of Mr. Buttner (in short we won’t have access to the source code, but we will have granular control):
          Kinematica has been implemented as a playable in order for it to integrate well with the rest of the animation system, so it is up to you to switch between Kinematica and other operations. Although the goal is to not have to switch between different systems. Kinematica allows to inject specific animations if you wish to do so. Also, it is not a black box implementation, you’ll have fine grained control over the movement and animation poses.