Edited at

UE4 でユニティちゃんにアイドルモーションさせてみた

More than 3 years have passed since last update.

UE4 事始めってことで、ちょっとやってみました。

とりあえず今回は UE4 上で表示して、アイドルモーションさせるだけです。


必要なもの


  • Unreal Engine 4

    これがないと始まりません。ダウンロードはこちらから。

    今回は、4.7.6 を使っています。




  • ユニティちゃんリソース

    これがないと始まりません。ダウンロードはこちらから。

    今回は ver.1.0 を使っています。




  • Unity

    ユニティちゃんリソースの入っている unitypackage から fbx と tga を取り出すのに必要です。

    ダウンロードはこちらから。




  • FBX Converter

    取り出した fbx を新しいフォーマットに変換するのに必要です。

    ダウンロードはこちらから。


ユニティちゃんをセットアップする

まずは、新規プロジェクトを作成し、ユニティちゃんをアセットとして使用できるようにします。

その為には、以下のことを行う必要があります。

* unitypackage から .fbx, .tga を取り出す。

* .fbx を新しいフォーマットにコンバートする。

* .fbx, .tga を UE4 にインポートする。

* マテリアルをセットアップする。

これらについては、こちらのサイトに書かれていますので、これを参考にしてセットアップを行ってください。

今回、使用するアセットは以下の様な名前になっています。

ファイル名
概要

UnityChan
スケルタルメッシュ

UnityChan_Skeleton
スケルトン

unitychan_WAIT00
アイドルモーション


ユニティちゃんをシーンに配置してみる


アクターを作って、シーン上に配置する

まずは、アクターを作ってシーン上に配置します。


  1. コンテンツブラウザで「コンテンツ」フォルダを選択し、「新規作成」から「BluePrint クラス」を選択します。
    UnityChan01_00.png




  2. 「親クラスを選択」で「Pawn」クラスを選びます。

    UnityChan01_02.png




  3. コンテンツブラウザにアセットが追加されます。

    名前は BP_UnityChan とします。

    UnityChan01_01.png




  4. 作った BP_UnityChan をシーン上にドラッグ&ドロップして、シーン上に配置します。

    (この時点ではまだ白い球が表示されるだけです。)

    UnityChan01_03.png


ユニティちゃんモデルを表示させる

配置したアクターにユニティちゃんモデルを関連付けして、ユニティちゃんモデルが表示されるようにします。


  1. シーン上に配置した BP_UnityChan を選択し、「詳細」の「コンポーネントを追加」から「SkeletalMesh」を選択します。

    UnityChan01_04.png




  2. 「詳細」から「Mesh」を探しだして、「なし」をクリックします。

    すると、以下のようなウィンドウが選択されるので、インポートしたユニティちゃんのスケルタルメッシュを選択します。

    UnityChan01_05.png




    これでようやくユニティちゃんがシーンに表示されました。

    UnityChan01_06.png


ユニティちゃんにアイドルモーションをさせてみる

では、いよいよユニティちゃんにモーションさせてみます。


アニメーションブループリントを作って、アクターと関連付ける

まずは、アニメーション関連の処理を記述するためのブループリントを作って、アクターと関連付けます。


  1. 「コンテンツブラウザ」で「コンテンツ」フォルダを選択し、「新規作成」から「アニメーション > Animation ブループリント」を選択します。

    UnityChan01_07.png




  2. 以下のようなウィンドウが表示されるので、インポートしたスケルトンを選択して OK を押します。

    UnityChan01_08.png




  3. 「コンテンツブラウザ」にアセットが追加されるので、「BP_UnityChan_Anim」という名前にします。

    UnityChan01_09.png






  4. シーン上の「BP_UnityChan」を選択して、「詳細」から「Animation」を探し出します。

    探し出したら、「Anim Blueprint Generated Class」をクリックして、先ほど追加した「BP_UnityChan_Anim」を選択します。


    UnityChan01_10.png






    アニメーションステートマシーンを作って、結果に応じたポーズを取らせる。

    モーションを再生させる前にステートマシーンを作って、その結果に応じてユニティちゃんの取るポーズを変えるようにします。

    ちなみにこの「ステートマシーン」とは、「アイドル」「歩き」などのアニメーションの状態と状態遷移を管理するものです。



  5. 「コンテンツブラウザ」から「BP_UnityChan_Anim」を選び、ダブルクリックします。


    すると、以下のような画面が開きます。


    UnityChan01_11.png




  6. グリッド上で右クリックして、「新規のステートマシーンを追加」を選びます。


    UnityChan01_12.png





    選んだら、「ステートマシーン」というノードが作られるので、「SM_Anim」という名前にします。


    UnityChan01_13.png




  7. グリッド上にある2つのノードを以下のように接続します。


    UnityChan01_14.png


    これでステートマシーンの結果次第でユニティちゃんの取るポーズが変わるようになりました。



アイドル状態を作って、アイドルモーションを再生させる

では、ステートマシーンにアイドル状態を追加して、アイドルモーションを取らせるようにします。


  1. 「SM_Anim」ノードを選択して、ダブルクリックします。

    すると、新しいグリッド画面に切り替わり、ステートマシーンの内部が表示されます。

    UnityChan01_15.png

    この「Enter」からステートマシーンが始まります。




  2. 右クリックから「ステートを追加」を選択します。

    UnityChan01_16.png



    すると、新しいノードが作られるので、名前を「IDLE」にします。

    UnityChan01_17.png

    これがアイドルモーションを示す状態となります。




  3. 先ほど作った「IDLE」ノードを選択して、ダブルクリックします。

    すると、新しいグリッド画面に切り替わり、アイドル状態の内部処理が表示されます。



    初期状態では、以下のノードしかありません。

    UnityChan01_18.png




  4. 右クリックから「再生 unitychan_WAIT00」を選択して、ノードを作ります。

    UnityChan01_19.png

    これは、アイドルモーションを再生し続けるためのノードです。




  5. グリッド上にある2つのノードを以下のように接続します。

    UnityChan01_20.png





    これで「プレイ」すると、ついにユニティちゃんがアイドルモーションするようになりました!

    UnityChan01_21.png


参考サイト