Help us understand the problem. What is going on with this article?

[UE4]UnrealEngineでユニティちゃんを召喚する(前編)

今回はBlenderなどのDCC(Degital Content Creation)ツールで作る、アニメーションのついたFbxデータをUEにインポートしてみたいと思います。
僕もよく記事でお世話になっている、alweiさんの過去記事を参考にしつつ現在のバージョンに合わせた解説も含めてやっていこうかなと。
こちらの記事を参考にしています
なので、使うモデルは記事にならってUnityのユニティちゃんを使います。
あと、結構画像が多く、長くなってしまったので前後編に分けてお送りいたします。
ではでは、やっていきましょう。環境は Windows10, UE4.22.3、 VisualStudio2017 です。

そもそもFbxって?

3DCG: .obj .3ds .ply .fbx .dae .abc
3D CAD: .dwg .dxf .3dm .ifc
ラピッドプロトタイピング: .stl .xaml .m3d
3Dプリンター: .amf .3mf
※Wikipediaより抜粋
一口に3Dファイル拡張子と言っても上記のようにたくさんあります。
その中でも、よく使われる有名なファイル形式が、 .obj .fbx .stl です。

・OBJ

Wavefront Technologyが出した3Dファイル形式。
Mesh、テクスチャという オブジェクトそのもののデータのみ を記録します。
データ量が軽く、動かないオブジェクトの出力に適しています。
適当なテキストファイルで開くとMeshの頂点情報だったりが見れます。

・FBX

AutoDeskが公開した3Dファイル形式。
objと違い、3Dオブジェクトの骨格の役割をもつリグデータを含められます。
なので動く3Dオブジェクトの出力を行うときは、Fbx形式がスタンダートとなっています。
バイナリ形式になっているのでテキストファイルで開いても解読できません。そして情報量が多いので容量が大きいです。

・STL

米国の 3D Systems が公開したフォーマット。
主に3Dプリンタで使用されるフォーマットです。
その中でもUEで使われるのは .obj と .Fbx です。

素材データの準備

ここから素材となるUnityちゃんデータの一番新しいバージョンをダウンロードしてください
000.jpg

Unityちゃんライセンス

本コンテンツは、『ユニティちゃんライセンス条項』に基づいて公開・配布されるものです。本コンテンツをご利用される場合は、ユニティ・テクノロジーズ・ジャパン合同会社が定める『キャラクター利用のガイドライン』をお守りいただく必要があります。

・Unityプロジェクトでダウンロードしたパッケージをインポート

ダウンロードしたデータは"unitypackage"とうUnity独自の拡張子となっており、使える状態にするには一度Unityプロジェクトでダウンロードしたパッケージをインポートする必要があります。
適当なUnityプロジェクトを作成し"Asset -> ImportPackage -> CustomPackage"で先ほどダウンロードしたデータをインポートしてください。
001.jpg

・必要データのコピー

使うデータはfbxとテクスチャとなるtgaデータだけでいいので、必要なものを検索して一か所に集めてしまいましょう。
Unityプロジェクトをエクスプローラー、もしくはファインダーで開いて "fbx"と "tga"で検索し、必要なものをコピーします。
ちなみにUnityの".meta"という拡張子はUnrealでいう ".uasset"と同じメタデータとなってますのでこれは無視してください。

tgaで検索 (モデルのテクスチャデータ)
003.jpg

fbxで検索 (モデルデータ)
004.jpg

まぁ全部使うわけじゃないんですけど一応画像のようにコピーしちゃってください。
ただしくコピーできると以下のようなファイル群になっているはずです。
005.jpg

これで準備は万全です。それではいざ!UEプロジェクトで読み込んでみましょう!

プロジェクトの作成

ではいつものようにプロジェクトを新規作成しましょう。名前はなんでもいいですが、僕は"ImportUnityChan"にしておきます。
006.jpg

早速モデルを読み込みたいところですが、まずはディレクトリを作っておきましょう。
そこまで大量に読み込むわけではありませんが、常に使いやすさを意識していきましょう。
Content下に"Models"、そしてその中に"Materials"と"Textures"フォルダを作成します。
007.jpg

次のステップでいよいよインポートします。

ContentBrowserからインポート

ContentBrowserのImportを押して読み込むファイルを選択します。まずはFbxからImportしてみましょう。
UnrealEditorでUnityChanディレクトリをクリックしてフォーカスを合わせてから、先ほどコピーして集めたファイルの中から"unitychan.fbx"を選択します。
008.jpg
009.jpg

すると以下のようなウィンドウが開くと思います
010.jpg

このMaterialタブの"Material Import Method"を"Do not create material"にしてImportしてください
011.jpg

この読み込み画面で注目するのは大きく3つ、 "Mesh"、"Animation"、"Material"です。
"Mesh"の"Skelton"項目を"None"にし、Unityちゃん専用のスケルトンを新規作成させます。
"Animation"項目はアニメーションがつけられたモデルを読み込む際にチェックを入れておきます。
"Material" の "Material Import Method"ではモデルの部位に合わせて自動でマテリアルを生成します。今回はテクスチャがあるので新規作成しないようにします。

無事にImportできたら以下のようになっていると思います。
012.jpg

では次にテクスチャをインポートします。今度はTexturesをクリックしてからImportを押します。一括選択して一気に読み込んでしまいましょう!
013.jpg

当然このテクスチャの状態ではモデルに反映できないので、ここからマテリアルを生成します。画面のようにテクスチャを一括選択している状態から"Create Material"を選択してください
014.jpg

マテリアルが生成されます
015.jpg

これを全部"Materials"ディレクトリに移動させましょう。あー、ディレクトリ内がきれいに整理されていて気持ちいですね!

016.jpg

既にお気づきの方もいらっしゃると思いますが、こうやって各インポートしたものや新規作成したもののサムネイルの左下に星マークみたいなのがあると思います
017.jpg

これは読み込んだデータはまだメモリ上に存在しているだけで、エクスプローラーやファインダーからは見えない状態だということです。
これを "Shidt + S" で一括保存してみてください。 .uassetという形でエクスプローラー/ファインダーから存在が確認できると思います
Unrealには原則として "ファイルの移動や消去などは基本的にEditorをから行う"というルールがあります。
なので必要なくなったからといってこの .uassetをEditorから消す以外の方法で削除したりしないように注意しましょう。

後編に続く

はい、以上でやっと素材周りのインポートが終わり、いよいよマテリアルを反映してUnityちゃんをUEWorldに解き放つ時がきました。
次回ではUnityちゃんを実際にアニメーションさせるところまでいきたいと思います。ではでは。

後編に続く

自分のサイトでも技術Tipsなどをあげているので良ければ遊びに来てください。
https://iwaxlab.com

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away