原題 Introduction to Third Person Blueprint game – 3 – FBX Importing and Using Skeletons
[1] スケルトンをインポートする
まず、Game フォルダの下の StarterContent フォルダの下に Character フォルダを作成します。(StarterContent フォルダを右クリックして、[新規フォルダ] を選択します。) (注意: チュートリアルでは Game フォルダの直下に Character フォルダを作っていますが、エンジンバージョンが異なるためディレクトリ構造が異なっています。)
ここにダウンロードしてある FBX ファイルの HeroTPP.FBX をドラッグアンドドロップします (インポートします)。
(この HeroTPP.FBX がスケルトンです。)
すると、次のようなダイアログボックスが表示されるので、赤丸で囲った部分をクリックして展開します。
Normal Import Method (どのように法線をインポートするか) という項目があるので、
次のように Import Normals (法線をインポートする) を選びます。
(なお、本当は HeroTPP.FBX に法線の情報が含まれていないのですが、法線をエンジンに計算させることになるとハードエッジが加わるため、とのことです。)
インポートが完了すると、「この FBX シーンにはスムージング グループ情報がありません。」という警告が表示されますが、これは先ほど理由を述べたように、分かってやっていることなので問題ありません。
次のようにファイルがインポートされました。
(マテリアルのファイルもインポートされましたが問題ありません。)
[コンテンツ ブラウザ] の [すべて保存] をクリックして、インポートしたファイルを保存します。
[2] スケルトンとは何か
チュートリアルでは、スケルトンの基本的な考え方が紹介されています。それについてまとめると、次のようになります。
① スケルトンとは、ボーン名のリストと階層情報のこと。
② どのボーンがどのボーンと親子関係にあるか明らかになっている。
③ 同一のアニメーションを複数のキャラクターで共有するためには、それらのキャラクターのスケルトン アセットが同一でなければならない。(ただし、エンジンバージョン 4.5 以降は、異なるスケルトンでも共有できるが、ベストプラクティスとしては、この同一のアニメーションに同一のスケルトン、という方式が望ましい)
④ スケルトン アセットは、スケルタルメッシュをインポートすると自動的に作成される。
⑤ たとえばポニーテールなどの付加的なボーンがついていても、その他が同じスケルトンであれば、アニメーションを共有できる。しかし、背骨のの間に別のボーンができたりすると親子関係が崩れるので、同一のアニメーションは使えない (使わないほうがよい)。
ということになりますが、一番基本的なことは、アニメーションはボーン (骨) を動かすことで実現されるということだと思います。そして、それらのボーン全体とそれらの親子関係がスケルトンということになります。
親子関係 (階層構造) とは、たとえばあるボーン (上腕) を動かせば、その子であるボーン (下腕) も動くという関係のことを指します。
[2] アニメーションをインポートする
残りの FBX ファイルもインポートします。次のように Character フォルダ内に Animations フォルダを新規作成します。
HeroTPP.FBX 以外のファイルをすべて、この Animations フォルダにドラッグアンドドロップします。
すると、次のようなダイアログボックスが開かれます。この時点では Skeleton が「なし」になっています。
そこについている小さな三角マークをクリックして、HeroTPP_Skeleton (つまりキャラクターのスケルトン) を選択します。
最後に [全てインポート] をクリックします。
(アニメーションには、対象とするスケルトンが必要となります。あるアニメーションを複数のスケルタルメッシュで共有する場合は、それらのメッシュは同一のスケルトンを使用していなければなりません。)
すると、「インポートしたアニメーションに次のポーンが存在しますが、スケルトンアセット HeroTPP には無いようです」という警告が出されます。
これは、そのとおりであって (元のアニメーションにはコートがあった)、特に問題はありません。
次のように 12 個のファイルがインポートされます。
最後に、[コンテンツ ブラウザ] の [すべて保存] をクリックして、インポートしたファイルを保存します。
今回はこれにて終了です。お疲れさまでした!