Search Unity

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

, 6月 20, 2018

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

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

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

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

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


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

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

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

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

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

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.

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.

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

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?

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.

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

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!

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/

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

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

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

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?

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.

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 ?

Comments are closed.