WordPress初心者がUnityで作ったゲームを公開するのに苦労した話

やっと!念願だった自分の脱出ゲームをこのサイトで公開することができました

WordPress初心者なのでちょっとしたことですぐ躓きました。忘れないうちに書き留めておきます。

動作環境はこちら

  • macOS Monterey 12.6.3
  • Unity 2021.3.31f1
  • FileZilla 3.66.1

とても参考になった記事がこちらです

【Unity】WebGLをFFFTPでXServerにアップしてWordPressに埋め込む
Unity 2020.3.35f1で作ったWebGLをFFFTPでXServerにアップしてWordPressに埋め込む方法について説明する

Unityの設定

今までunityroomに何度か投稿してきたんですが、その時とは少し設定を変えなければいけませんでした。

ちなみに私は2d脱出ゲームを制作するのでオブジェクトは全てUIです。

Canvasの設定

使用するCanvas全ての設定を下画像の様にする。

これで、遊ぶ端末がPCでもスマホでも画像が見切れることも変形することもなく表示される(レスポンシブではないのでPCのウィンドウサイズ変形にはついていけない)

Reference Resolutionは最終的な画面サイズと違っても大丈夫だけど縦横比は同じにする。

PlayerSetting

File→BuildSettingを開いて左下にあるPlayerSettingを開き下画像の様に設定する

CompressionFormatはGzipが軽くて応用が効く?らしい。他のにしても問題はなさそう。

画面サイズは600×600にしているがお好みで。

設定できたらBuildSettingからBuildする。

つまずいたところ!

・私はこれまでScreenMatchModeはデフォルトのMatchWidthOrHeightにしていましたがレスポンシブ対応しない場合はExpandが最適でした。

・buildする時の保存先はストレージカード内ではなくMac本体に!後述のFileZillaがアクセスできるのはPC内部だけのようです。

FileZillaの設定

UnityでビルドしたデータをWordPressで公開するには契約したサーバーにデータをアップしなければなりません。サーバーにアップするために必要なのがFTPソフトです。

私が契約したサーバーはXserverで、XserverのサイトにFTPソフトの設定方法が詳しく書かれていました

FTPソフトの設定 | レンタルサーバーならエックスサーバー
レンタルサーバー「エックスサーバー」のご利用マニュアル|ご契約のサーバーアカウントへFTP接続する際FTPソフトに設定する内容(FTPサーバー名など)について記載しています。

FTPソフトは色々あり、FFFTPというソフトがメジャーらしいのですがMacは対応していなかったので、FileZillaというソフトをインストールしました。FFFTPと見た目も使い方もさほど変わらないそうです。

FileZillaのインストール

https://filezilla-project.org/

Download FileZilla ClientをクリックしてmacOSのダウンロードボタンをクリックする(この辺当てずっぽうでやったので不安だったけど問題なくできた)

圧縮ファイルがダウンロードされるのでクリックして解凍して、アプリケーションの中に掘り込む

FileZillaの初期設定

FileZillaを開いて左上のアイコンをクリックし初期設定をする

左側、自分のサイトの中に新しいサイトで自分のサイトを登録し、右側の一般タブを上の様に設定する。

(転送設定タブの転送モードをパッシブにする、という説明をどこかで見たのでそうしたがしなくてもいいかも?)

ホスト、ユーザー、パスワードはXserverを契約した時に届いたメール

【Xserverアカウント】■重要■サーバーアカウント設定完了のお知らせ

の中に書いてある。

ファイルのアップロード

左側のローカルサイトがパソコンの中身、右側のリモートサイトが登録したサーバーの中身で、ファイルをドラッグ&ドロップで移動させることができる。

ローカルサイトからUnityでbuildした場所を探す。

buildでできたフォルダ内に2つのフォルダと1つのhtmlファイルがあるのを確認し、フォルダ丸ごとリモートサイトに掘り込む。

ファイルを掘り込む場所はXserverの場合、自分のサイト下のpublic_html以下にしなければいけないとの事。また、wp-content/uploads下に入れておくとアクセスしやすいらしい。そこにUnityフォルダを作って作ったゲームを入れていく。

uplordsを選択し右クリックでディレクトリの作成をし、その中にbuildフォルダをドラッグ&ドロップする。

つまずいたところ!

・ディレクトリを作成する時はディレクトリ名を上画像の”新規ディレクトリ”の部分だけ書き直すこと!全部消してから名付けしたらパスの中に組み込まれてなくて、自サイトでリンク貼っても404エラーが出てアクセスできませんでした(そりゃそうだ)

・Unityで再buildする時は上書きせずにファイル削除してからbuildしなおす!上書きで保存してもFileZillaのローカルファイルは上書きされず前のままのようです。名前を変えて別フォルダで同じ場所に保存しても前のファイルが優先される?みたいです。

WordPressに埋め込む

WordPressで埋め込みたい記事にアップしたファイルのリンクを作ります。

私の場合はボタンを押してリンク先に移動するようにしました。記事内にゲームを埋め込みたい場合はiframeを使うことでできるそうです(最初に貼ったリンク先参照)。

つまずいたところ!

・パスの書き方はFileZillaのパスからpublic_htmlを抜く!私の場合、https://wanconogame.com/wp-content/uploads/Unity/ゲームファイル名/index.html

Unityのエラーを解消する

WordPressに埋め込めたけど、Unityのロゴ画面でエラー表示が出てゲームが始まらない。

これはUnity独自の変数?みたいなものがWordPress側では認識できないかららしい(ここから自信がなさすぎて書くことがあやふやになります)。だからWordPress内のファイルを編集するという初心者には禁断の作業になります。

.htaccessの編集

.htaccessとは『Webサーバーの動作をディレクトリ(複数のファイルの分類・整理ができる保管場所)単位で制御できるファイル』らしい

.htaccessとは?5つのできることや詳しい設置方法を解説
.htaccessとは、Webサーバーの動作をディレクトリ単位で制御できるファイルのことだ。正しく使用しないとトラブルにつながる可能性がある。本記事では概要や設置することでできることなど、使用する際に知っておきたい基礎知識を解説している。

あんまり触ってくれるなと書いてあるけどUnityを埋め込むためにはどうしてもやらなきゃいけないらしい。

試行錯誤してたのでこの画像の.htaccessのファイルサイズが1869もあるが最終的には916になってる

FileZillaのリモートサイトのpublic_htmlの中の.htaccessというファイルを探し、ローカルサイトの適当なところ(でいいのか分からんけど)にドラッグ&ドロップする。

ローカルサイトの.htaccessを右クリックし編集を選ぶとテキストエディタが開く

これに次の3行のコードを追加する

<IfModule mod_mime.c>
AddType application/wasm .wasm
</IfModule>

編集したのを上書き保存して閉じると「このファイルをサーバーにアップロードしますか?」と聞かれるので「はい」を選ぶとリモートサイトの.htaccessが上書きされる。

つまずいたところ!

全部!ここに至るまで色んなことしたので、今は問題なくいけてるけど後から重大なエラー発覚するとかならないか不安だ。

難しかったけど自力でできた!

頑張ってアップした最初のゲームがこちら↓

Unity WebGL Player | MinimalistRoom

FTPソフトの扱いはWordPressを使う上で慣れておいた方が良いらしいので、無事に導入できてよかったです。

PAGE TOP