妹でもわかるUnrealEngine4

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

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

UE4でHTML5パッケージ化すると、SaveGameが効かないことがある

t.co

HTML5にするとSaveGameが上手く動かないという質問があったので、簡単なテストデータを作ってみた。ほうっておくと出てくる数字が増えていくだけなんだけど、Sキーでセーブ、Lキーでロードという仕組みになっている」

妹「普通に出来てるのでは」

Firefoxというブラウザだと出来る。妹が使ってるのもこれ。だけど一般的に利用者の多いChromeだと、ロードすると0に戻ってしまう。セーブデータ自体が無い感じ」

妹「セーブデータはどこに出来るの?」

「ブラウザ上で動くゲームは、最近はインターネット上にデータが保存されてることも多いけど、SaveGameの場合はクッキー(Cookies)という仕組みで保存されてるみたい。それがChromeだと上手くいってないみたい。UE4じゃない他のゲームだと普通にセーブできてるんだけど」

レベルブループリント

f:id:una_unagi:20190301023836p:plain
f:id:una_unagi:20190301023848p:plain

BP_Save(SaveGameクラスを継承)

f:id:una_unagi:20190301023900p:plain

「空のプロジェクトに最低限のBPだけ入れた、シンプルなシステム。もちろんプレイボタンで動かした時も普通にセーブできる。いまのところChromeだけおかしい。設定がヘンなのかもしれないけど、とくにあやしげなところもみあたらず」

妹「他にはないの? インターネット見るやつ」

「ないことはないんだけど、最新のWebAssemblyに対応してないと、セーブ以前にゲーム自体が動かないだろうから。日本語名とかも使ってないし……いまのところ原因不明」

妹「そしたらどうやってセーブしたら……」

「1つはSaveGameじゃなく直接クッキーに書き込む方法、もう1つはインターネット上に保存するという方法。どちらにしてもブループリントだけではむずかしそうな」

https://answers.unrealengine.com/questions/539566/html5-content-control-browser-from-inside-ue4.html

「ここに書いてある方法だと、C++の中からJavaScriptを呼び出す……みたいな仕組みで出来ると書いてある。他に何かいいプラグインがなければ、この方法しかないかも」

SF背景用キットバッシュアセット『Scifi Kitbash Level Builder』

imoue.hatenablog.com
前回の記事

「引き続き、2月の無料アセットの話なんだけど、今回キットバッシュ用のアセットというのが含まれてる」

www.youtube.com

妹「キットバッシュ?」

「兄にもよくはわからないんだけど、バラバラのパーツを組み合わせて何かを作る手法というか。今回の場合で言うとSF風の背景作成用のアセットだけど、例えばロボットとか戦車とかのも」

妹「なんかメカメカしいやつなのかな?」

「元々プラモデル方面から出てきた言葉らしいから。他のプラモデルのパーツをくっつけて、オリジナルの改造をするみたいな。ダイヤブロックで別のセットに入ってたパーツをくっつけるのと同じようなことではないかと」

妹「あんまりメカっぽいのは好きじゃないんだけど」

「木とか石とかのアセットは配置自由だし、別のアセットに含まれてるのも混ぜられるから、キットバッシュと言えなくはないと思う。ただ自然系は流用が難しい。木の枝先にを別の木をくっつけるとかも、CG的には出来なくはないけど、継ぎ接ぎした方の根っことか上手く隠さないと変だし」

妹「メカならいいの?」

「金属だったらまあ溶接してくっつけたと考えると、そんなにおかしなことになりにくい。あと直線が多いから、自然物よりもつなぎやすい。あとはローポリ系の素材もわりとこれに近いことが出来る」

f:id:una_unagi:20190205225841p:plain

f:id:una_unagi:20190205225856p:plain

「物はためしというやつで、何かのパイプっぽいパーツがあるんだけど。これを壁と地面につながるように置いておくと、何かが流れてるような感じになる」

妹「何が流れてるの?」

「それは知らない」

f:id:una_unagi:20190205225910p:plain

「同じの4つつなげて、輪っかを作ることも出来る」

妹「これはなんに使うの?」

「特になんということはないんだけど、シューティングゲームの雑魚敵とか、くぐるとポイントがもらえるとか。そのへんは使う人の判断だから何に使ってもいい」

f:id:una_unagi:20190205230318p:plain

f:id:una_unagi:20190205230334p:plain

「こういう感じのも、1つだとSAKUKEのステージみたいにもなるし、たくさんつなぐと巨大ロボの通気口っぽい感じにもなる。ちなみにALTキーを押しながらアクターを動かすと、同じのが素早くコピーできるのでこういう作業には向いてる」

妹「他にもキットバッシュ用のアセットみたいなのはあるの?」

「いろいろあるよ。マーケットプレイスにKITBASHというタグがあるから、キットバッシュ用のだけ検索することが出来る」

www.unrealengine.com

「それぞれ寸法とか雰囲気とか違うから、単純に組み合わせても上手くいかないかもしれないけど」

妹「丁度いいのがないかも」

「合わないように見えても、色を塗り直すと統一感がでてくることもある。あとはUE4のアセットじゃなくfbxとかのもあるから、Blenderとかで組み合わせたり、加工したり、足りない部分だけ自分で作るというのでもいい」

妹「じゃあキットバッシュというのはUE4の用語とかではないんだ」

「ではないね。一般的な英語とも違う気がするけど、3D関係ではちょくちょく見かける言葉」

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アクションのよりもこっちの方が難易度高そう」