妹でもわかる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を呼び出す……みたいな仕組みで出来ると書いてある。他に何かいいプラグインがなければ、この方法しかないかも」