妹でもわかるUnrealEngine4

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

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

謎の金貨

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

妹「遅くない!?」

「そうかな……」

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で塗るならメッシュごとに別フォルダにしておくのが管理しやすいかなと思う」

Epic Games Storeがあらわれた

www.epicgames.com

「そういえばEpic Games Storeというのが出来てるんだけど」

妹「あー、なんかそんなニュース見たよ。UE4で作ったゲームを出すとお得とか?」

「特にUE4だからお得というわけでもなくて、Unityとかで作ってても作者の取り分は同じだけど、UE4特有の5%のライセンス料というのが要らなくなるから。それなりに売れないとライセンス料はかからないけど」

妹「Unityだと5%じゃなくて何%なの?」

「Unityの場合そういう方式じゃないんだよ。その代わりにゲームを始める時にUnityってロゴが出るか、もしくは年間契約でお金を払うかんじになってる」

妹「手数料が安いのはいいよね。でも何かデメリットは?」

「まだ一般向けの審査が始まってないからゲームを出せない」

妹「それはだいぶデメリットですね……」

「まあそのへんはそのうち整備されてくると思うけど。今のところは販売されてるゲームはそんなに多くないけど、2週間にゲームを無料でプレゼントという企画があってる」

妹「大盤振る舞いだけど、大丈夫なのかな?」

「Epic的にもストアが流行ってくれないと困ると思うんだよね。Epic自体のゲームを売る時に、手数料を払わなくていいのがメリットだけど、みんながこのストアを使ってくれないと意味がない。そのための宣伝費だし、それでEpic Games Storeを使う人が増えたら元は取れるんだと思う」

f:id:una_unagi:20181216231637p:plain

「今無料なのは、SUBNAUTICAという、FPSっぽいゲームだけど、海の中がメインなのが特色。VR対応だけど、別になくても遊べるみたいな」

f:id:una_unagi:20181216231754p:plain

「中華フォントっぽいけど、音声には日本語の字幕がついてるし。ポッドの中の画面も日本語だから、tちゃんと遊べそう。まあ、この文字を読んでる間に燃えて死んじゃったけど」

※追記

「かんじんなことを書くのを忘れてた。EPic Games Storeで買ったり無料配布されたりしたゲームっていうのは、いつもUE4で使ってるEpicのランチャーから起動するようになってる。ところが最初はゲームが出てこなかった」

f:id:una_unagi:20181217162001p:plain

「ここにチェックが入ってると、ゲーム系のメニューが非表示になるので、ゲームが起動できなくなる。最初からこうなってたのか、自分でチェック入れたのか思い出せないけど。こうなってる人はチェックを外す」

f:id:una_unagi:20181217162012p:plain

「そうすると右側にライブラリというのが出てくる」

妹「ライブラリって、こうUE4のプロジェクトとかアセットとかあるとこじゃないの?」

「それはそれで別にあって、右側でUnrealEngineを選んだあと、右上の方に出てくるボタンを押すと出てくるやつ。でも左側に出てくるのは、ゲームとかなんとかのやつ」