UnityUnityでモーションを再生する方法はいくつかあり、またそれぞれの仕組みも複雑です。この記事ではこれらの方法の概観を説明し、関連記事をピックアップすることで学びやすくまとめます。API関連の記事まとめKinematicaについてその他Unityでモーションを再生する方法の概観まとめまず、Unityでモーション再生をするには以下の方法があります。Controllerを使う方法です。Controllerはステートマシンを使ってモーションを状態管理します。指定したトリガーを与えることで次のモーションに遷移します。Controllerは非常に高機能ではあるのですが、ちょっとしたアニメーションを再生したいときにはオーバースペックで、逆に設定が面倒になってしまうことがあります。Animationを使います。カットシーン中にモーションを再生したい場合には3.のTimelineという機能が便利です。Timelineを使うとクリップとして簡単にモーションを再生することができます。AnimationとTimelineを紹介してきました。これらは別々の機能ですが、実は内部的には同じ低レベルなAPIを使って実装されています。Graphを組むことによって非常に自由にモーションの仕組みが作れます。最後に、まだUnityが開発中の新しいアニメーションシステムとしてKinematicaがあります。情報は少ないですが、機械学習を使ったアニメーションシステムになるようです。Controllerはかなり多機能なので、当サイトでも色々な記事を書いています。各設定項目をちゃんと理解しておくことはとても大事なので次の記事で解説しています。light11.hatenadiary.com基本的な使い方が理解出来たらブレンドツリーを覚えておくと良いです。これを使うと「歩き」と「走り」のモーションをブレンドして「小走り」のモーションを作れたりします。light11.hatenadiary.com次にモーション再生を理解する上で避けて通れないHumanoidとGenericの違いについて以下で説明しています。Humanoidを使うと、全然違うキャラのために作った人型のモーションでも使いまわすことができます。これは便利な機能ですが、人型限定だったり他にもいくつか制約があるのでしっかり理解しておく必要があります。light11.hatenadiary.comちなみにHumanoid専用の機能として、モーションの一部だけをオブジェクトに追従させるIKがあります。IKを使えばただ歩くだけのモーションを武器を持ちながら歩くモーションにできたりします。Matchingがあります。Controllerはキャラクターごとに作る必要があります。Controllerを作っていてはキリがありません。Controllerです。Controllerのステートマシンは同じものを使いつつ、アニメーションファイルだけを差し替えたものを量産できます。light11.hatenadiary.comまたモーションに移動値が入ってたりすると、モーションを再生するときに勝手にキャラクターが移動してしまいます。モーションを再生させつつも移動をスクリプトで制御したい場合には、ルートモーションの設定を行います。Maskという機能が使えます。light11.hatenadiary.comこれに関連して、再生中のモーションに別のモーションを加算したい場合にはLayerをAdditiveに設定します。light11.hatenadiary.comモーションに合わせて何かしらのパラメータ(吐息の量とか)を変更したい場合にはCurvesという機能が使えます。Controllerは現在のステート名が取りづらかったりするのですが、これをエディタ拡張を用いて簡単に実現する方法も紹介しています。Controllerでさらっと使われているステートマシンとは、あるものをいくつかの状態とその遷移によって表すためのモデルです。モーションとは直接的には関係ありませんが、この考え方については以下の記事で触れています。Controllerは高機能ですが、上述の記事の数からもわかるように複雑です。Animationというコンポーネントが使えます。これについては以下の記事で紹介しています。light11.hatenadiary.comTimeline関連の記事まとめカットシーン中にモーションを再生したい場合にはTimelineという機能が便利です。Timelineの基本的な使い方については以下の記事で説明しています。light11.hatenadiary.comまたタイムラインを使っていると独自のクリップを作りたくなってきます。この方法については以下の記事で紹介しています。APIが使われています。Controllerのようなものでさえ作れてしまいます。APIを使うのも手です。APIの基本的な使い方を紹介しています。APIを使ったり、モーションプレビュー機能を作る方法を紹介しています。APIを再利用可能な設計にする方法をまとめています。light11.hatenadiary.comKinematicaについてKinematicaはUnityが開発していることを2018年に発表した新しいアニメーションシステムです。機械学習を使うことで、煩雑なステートマシンを組むことなくモーションを再生できるようです。blogs.unity3d.comまだ正式リリースはされていませんが、今後Unityでモーションを再生する上で重要な機能となってくるのかもしれません。最後にその他、モーション再生に関わりそうな記事をまとめておきます。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。インストールから基本的な使い方・注意点まとめ【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。