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 | アイドルモーション |
ユニティちゃんをシーンに配置してみる
アクターを作って、シーン上に配置する
まずは、アクターを作ってシーン上に配置します。
- コンテンツブラウザで「コンテンツ」フォルダを選択し、「新規作成」から「BluePrint クラス」を選択します。
- 「親クラスを選択」で「Pawn」クラスを選びます。
- コンテンツブラウザにアセットが追加されます。
名前は BP_UnityChan とします。
- 作った BP_UnityChan をシーン上にドラッグ&ドロップして、シーン上に配置します。
(この時点ではまだ白い球が表示されるだけです。)
ユニティちゃんモデルを表示させる
配置したアクターにユニティちゃんモデルを関連付けして、ユニティちゃんモデルが表示されるようにします。
- シーン上に配置した BP_UnityChan を選択し、「詳細」の「コンポーネントを追加」から「SkeletalMesh」を選択します。
- 「詳細」から「Mesh」を探しだして、「なし」をクリックします。
すると、以下のようなウィンドウが選択されるので、インポートしたユニティちゃんのスケルタルメッシュを選択します。
これでようやくユニティちゃんがシーンに表示されました。
ユニティちゃんにアイドルモーションをさせてみる
では、いよいよユニティちゃんにモーションさせてみます。
アニメーションブループリントを作って、アクターと関連付ける
まずは、アニメーション関連の処理を記述するためのブループリントを作って、アクターと関連付けます。
- 「コンテンツブラウザ」で「コンテンツ」フォルダを選択し、「新規作成」から「アニメーション > Animation ブループリント」を選択します。
- 以下のようなウィンドウが表示されるので、インポートしたスケルトンを選択して OK を押します。
- 「コンテンツブラウザ」にアセットが追加されるので、「BP_UnityChan_Anim」という名前にします。
-
シーン上の「BP_UnityChan」を選択して、「詳細」から「Animation」を探し出します。
探し出したら、「Anim Blueprint Generated Class」をクリックして、先ほど追加した「BP_UnityChan_Anim」を選択します。
アニメーションステートマシーンを作って、結果に応じたポーズを取らせる。
モーションを再生させる前にステートマシーンを作って、その結果に応じてユニティちゃんの取るポーズを変えるようにします。
ちなみにこの「ステートマシーン」とは、「アイドル」「歩き」などのアニメーションの状態と状態遷移を管理するものです。 「コンテンツブラウザ」から「BP_UnityChan_Anim」を選び、ダブルクリックします。
すると、以下のような画面が開きます。
グリッド上で右クリックして、「新規のステートマシーンを追加」を選びます。
選んだら、「ステートマシーン」というノードが作られるので、「SM_Anim」という名前にします。
グリッド上にある2つのノードを以下のように接続します。
これでステートマシーンの結果次第でユニティちゃんの取るポーズが変わるようになりました。
アイドル状態を作って、アイドルモーションを再生させる
では、ステートマシーンにアイドル状態を追加して、アイドルモーションを取らせるようにします。
- 「SM_Anim」ノードを選択して、ダブルクリックします。
すると、新しいグリッド画面に切り替わり、ステートマシーンの内部が表示されます。
この「Enter」からステートマシーンが始まります。
- 右クリックから「ステートを追加」を選択します。
すると、新しいノードが作られるので、名前を「IDLE」にします。
これがアイドルモーションを示す状態となります。
- 先ほど作った「IDLE」ノードを選択して、ダブルクリックします。
すると、新しいグリッド画面に切り替わり、アイドル状態の内部処理が表示されます。
初期状態では、以下のノードしかありません。
- 右クリックから「再生 unitychan_WAIT00」を選択して、ノードを作ります。
これは、アイドルモーションを再生し続けるためのノードです。
- グリッド上にある2つのノードを以下のように接続します。
これで「プレイ」すると、ついにユニティちゃんがアイドルモーションするようになりました!
参考サイト
UE4でゼロからユニティちゃんを表示させるまで
http://unrealengine.hatenablog.com/entry/2014/04/15/184432UE4でアニメーションブループリントを使ってステートマシンを組む
http://unrealengine.hatenablog.com/entry/2014/05/14/000828