妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

UE4の2月無料アセットに、2Dアクションゲームの対戦カードゲームのプロジェクトがある

「ちょっとブログをさぼっていただけなのに、どうやら2月になっていたらしく……」

妹「さっきまで1月だったはずなのに」

「そんなわけで2月分の無料アセットが出ていた」

www.unrealengine.com

「今回はゲームプロジェクト系のアセットが2つもふくまれてる」

Platformer Kit 2D

www.youtube.com

「まず2Dアクションゲームのやつ。Platformer……というのは横スクロールアクションゲームのこと。マリオとかソニックとかロックマンとかそういうの」

妹「どういう感じのアセットなの?」

「アセット一覧のところからプロジェクトを作成するという、サンプルプロジェクトに近い仕組みになってる。絵を変えたり、マップの配置を変えたり、障害物を増やしたりというのをやっていくと、ゲームができる」

f:id:una_unagi:20190204014403p:plain

「タイトル画面とサンプルマップの2つのレベルがある。表示はPaper2Dで、中身はブループリントで出来ている」

妹「ブループリントなんだ。全部?」

「たぶん全部」

f:id:una_unagi:20190204014519p:plain

「これはキャラクターの中身だけど、こういうのがたくさんある」

妹「これは難解な」

「コメントもあるんだけど、やっぱり英語なんで、それなりに理解に時間がかかりそう。ゲームパッドに対応してないのかなと思ったら、そういうわけではなくて、左右移動がなぜか右スティックに割り当てられてるだけだった」

妹「右スティックはカメラを動かすやつでは?」

「そうと決まってるわけではないけど、だいたいは左スティックの方が移動になってるね。間違えたのか、タイトル画面のウィジェットゲームパッド非対応のままだから、キーボードで遊ぶ派の作者さんなのかも」

妹「奥行きは?」

「ない。Platformerというはだいたい奥行きがない。縦と横の二次元の動き。ゴールデンアックスとかファイナルファイトとか、そういう格闘で敵をやっつけるというのは、別ジャンルとしてあることはあるけど、このアセットでは対応してない」

妹「奥行き欲しいのに」

www.youtube.com
www.unrealengine.com

「そういう用途だとこっちのEnumKit Beat Em Up Templatetとかの方が合ってそう。これは無料ではないけど、セール中みたいだった」

妹「ジャンプはしないの?」

「しないかも。こっちのBeat Em Upのジャンルだと、格闘戦がメインで、ジャンプそんなにメインじゃないから」

妹「ジャンプも欲しいのに」

「縦横奥ぜんぶとなると、もうほとんど3Dだからね。じゃあキャラも3Dでキャラ作ってカメラ動かせるようにしようって……ってなると、普通のTPSみたいな感じのアクションになる」

妹「うーん……」

CCG Toolkit

www.youtube.com


「こちらはカードゲームのプロジェクト」

妹「CCGって何?」

「たぶんCollectable Card Gameのことじゃないかな。日本語でいうとトレーディングカードゲーム

妹「カタカナなのに日本語なんだ」

「妹にわかりやすくいうと、シャドウバースとかの……」

妹「えっ、そんなの作れるの?」

「とは限らないけど、なにかそういうような感じのものが」

f:id:una_unagi:20190204020426p:plain

f:id:una_unagi:20190204020440p:plain

「カードゲームは詳しくないので、いまいちどういうことなのかわかってないんだけど」

妹「それ以前にこれ全員グレーマンじゃない?」

「そういうこともある。カードゲーム自体じゃなく、仕組みをアセットとして販売してるわけだから。でもネット対戦だけじゃなくCPU対戦にも対応してて、かなり本格的」

妹「CPUの方がたいへんなの?」

「どっちもたいへんだけど、たいへんな場所が違うというか。ネット対戦の方は試してないけど、CPU戦の方はちゃんと動いてる気配があった」

妹「気配だけなの?」

「なんというか、動いてるとは思うんだけど、動かし方がわからなくて」

f:id:una_unagi:20190204020928p:plain

「マナが足りないというのはわかるんだけど、じゃあどうしたらいいかってのがさっぱり。ただこれもBlueprint製だから、中身を調べていけばいずれはわかるかもしれないけど、2Dアクションのよりもこっちの方が難易度高そう」

謎の金貨

「そろそろ新年の抱負とか書こうと思うんだけど」

妹「遅くない!?」

「そうかな……」

f:id:una_unagi:20190115232635p:plain
Blenderで作った薄い円柱に、ただ顔をかいただけの物

「こういうのが欲しいんだよね……変な金貨。みんな好きでしょ、変な金貨」

妹「金貨は好きかもしれないけど、変じゃない金貨を好きな人が多いのでは……」

「だとしても、このさい変な金貨でもいいみたいな話にはなると思うんだよ。そんなわけで今年はこういうのを作っていきたいと思う」

妹「そう……なんだ」

「ただ顔、を書いただけだと、思いの外金貨に見えなくて、いくらSubstancePainterでマテリアルをつけても、ある程度凹凸がないと質感が出ないというか」

妹「そもそもこれっていくらなの?」

「いくらとは?」

妹「何円とか表面に書いてないなあと思って」

「それは特に考えてなかった。ただそこに存在するだけのなんでもない金貨だから」

妹「そうなんだ……」

SubstancePainterでのレイヤ構成を維持しつつUE4で読み込む

f:id:una_unagi:20181229003543p:plain
SusbtansPainter製ドーナツ

「途中スマホを買ったり歯が痛かったりしてテンション下がってたから手間取ったけど、ようやくドーナツをUE4で読み込むことができた」

妹「なんか前に作ってたやつだよね」

「そう。SubstancePainterではちゃんと表示できてても、UE4にもってくるのが目的だったから。そういう場合、通常はテクスチャのエクスポートというのをする。それをUE4側でマテリアルにくっつける」

妹「それでいいのでは?」

「表示するだけならいいけど、その場合、作業中のレイヤとかはいったんなくなってしまう。色とかメタリックとか法線マップとか、それぞれ1枚ずつの画像になるから」

妹「通常じゃない場合はどうするの?」

「SubstancePainterで作業してたsppファイルをそのまま読み込む。そうするとレイヤはそのままだから、その状態でLiveLInkさせれば、元のレイヤのまま塗り直せる。ただそれがなんかエラーとか色々でてうまくいかず、ツイッターでそんな話をもにゃもにゃとしていたら有力な情報を教えてもらえた」

「sppの上書きが失敗したのかと思ってたけど、まさかマテリアルが設定されてないからクラッシュしてたとは思わなかった。今回Blender上ではマテリアルなんにも作ってなかったから、UE4上で適当なマテリアルを作って割り当てたけど、それで上手くいくようになった」

f:id:una_unagi:20181229005700p:plain

「まず、SubstancePainterで塗ってる時点で、(Blenderからエクスポートした)FBXファイルと、塗った色とかを保存してあるSPPファイルの2つがある。同じFBXをUE4にインポートすると、同じSPPファイルが使えるようになる」

妹「コンテンツブラウザに入れたらいいのかな」

「それができたら良いんだけど、SPPファイルはコンテンツブラウザから見えない場所にある。エクスプローラで開かないと見えない。コンテンツフォルダ内の適当なフォルダを右クリックすればエクスプローラで開けるはず」

f:id:una_unagi:20181229005937p:plain

「通常のアセットはContentフォルダにあるけど、SPPファイルは.spというフォルダにある。一度SubstancePainterとLiveLInkさせると対応したSPPファイルができる。先日ドーナツを塗ってた時に、このレイヤ情報とかどこに保存されてるんだろうなあ、と思ったわけだけど、テクスチャファイルとは別に、この.spフォルダに元データがあったからだった。そんなわけで、ここにSubstancePainterで塗ってた時のSPPファイルを上書きする

妹「んー、でもそれってどうなるの? コンテンツフォルダの中は一緒だよね? また新しいSPPファイルができちゃうのでは」

「SPPファイルがなければ作るけど、そこにあった場合は信用してくれるから。こっちがすり替えたとは思わない。LiveLinkすればコンテンツフォルダ内のテクスチャも新しいのに書き換わる。普通にSubstancePainterで大幅に塗り直しがあったんだなあ、としか思われてない」

妹「ちょっとめんどくさいね」

「たくさんのテクスチャをインポートして、それをマテリアルブループリントで設定してってやるよりは簡単だと思う。ただSubstancePainterのLiveLinkプラグインは、必要に応じてファイルをどんどん作るので、ごちゃごちゃする欠点はある。名前とかも自動生成だし、テクスチャを別フォルダにとかできなさそう。LiveLinkで塗るならメッシュごとに別フォルダにしておくのが管理しやすいかなと思う」