Entries

【開発】エンカウント演出実装


ゲーム本体はこちらから

とりあえず、こんな感じ。
エンカウント演出だけじゃなく、他にもシーンのつなぎの部分も修正を入れた。
今までは目を凝らしてみるとシーンの繋がりが汚かったと思うけど、
だいぶ改善されていると思う。
 
今回はいろいろ問題が発生して手間取ったので、忘れないように書いておこうと思う。
 

まず、シーンの切り替えで起きた問題について。
シーン切り替えは、コルーチンを使ってその中で管理していたんだけど、
非同期読み込みのLoadSceneAsyncを使うとなぜか途中で停止してしまい
仕方が無いので同期読み込みLoadSceneを使ってごまかしていた。

今回調べて分かったことが、StartCoroutineを書いて関数を呼び出した側が
コルーチンの進行を管理するってこと。

だから、今まではLoadSceneAsyncを使うと、
あたかもロードが終わらない不具合に見えていたんだけど、
実際は呼び出し元のコルーチンがシーン削除と同時に消え、
それで処理が止まってしまっていた。

てっきりコルーチンを定義しているオブジェクト内で管理しているものだと
思っていたんだけど全然違かったw


次に、シーンを切り替えた時に一部の2Dの描画順序が狂うという問題。

具体的には、描画順序の制御のために、キャンバスコンポーネントを持たせた
GUIイメージオブジェクトを、描画対象をオーバーレイではなくカメラに設定したまま
何かしらのシーンをロード、アンロードすると、上記のオブジェクトの描画順序が狂ってしまう。

これはユニティエディタ内でのみ発生している問題で無視してもよかったんだけど、
かなりうざかったのでシーン切り替えの瞬間に描画対象をオーバーレイに戻し、
シーンのロードが終了したら再度カメラに戻すことで強引に対処したw
 

最後がゲーム容量肥大化問題。

このゲームのアップロード先としてGitHubを使っているんだけど、無料版の場合、
1ファイルの最大容量が100mバイトまでという制限がある。
今回急にそれをオーバーしてしまい、調べたところ、
後で使おうと思って購入したセール中のアセット『Camera Play』が原因だった。
(ちなみに現在70%offで15ドル)

20180711_001.png
(圧縮前のサイズ)

Resourcesフォルダ以下のものは全てビルド対象に含まれることは知っていたけど、
販売されているアセットについては全く考えていなかったので結構驚いた。

ゲームデータに関しては後々アセットバンドルで分けるつもりだけど、
ダウンロードしたアセットに関しては気を付けないとすぐに容量オーバーしてしまうかもしれない。
特にエフェクト関係はアセットストアでちゃちゃっと済ませようと思っていただけに、
思っていたより面倒になるかもしれないw

次はセーブロード周りの処理を入れ込もうと思う。
 

このエントリーをはてなブックマークに追加 ツイート ラインで送る
Pocketに保存
関連記事

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://nekosuji.com/tb.php/192-66e58694
この記事にトラックバックする(FC2ブログユーザー)

Appendix

プロフィール

 ねこすじ

 Author:ねこすじ
 ねこ一筋 めこすじ です。

Appendix

検索フォーム

 

ブログ項目選択

 
 
 

最新記事

【TOS】Re:Buildのクラスシステムを僕考 (11/14)

【TOS】プリムスズバイダーピストル強化祭り (11/12)

【TOS】Re:Buildと今のビルドについて (11/09)

【TOS】ランクシステム廃止について思うこと (11/06)

【TOS】8か月ぶりのイン (11/01)

最新トラックバック