View on GitHub

OpenSimpleFramework201801

unityroomなど向けUnity用簡易フレームワークです。

OpenSimpleFramework201801

unityroom向けなどの小作品向用Unity簡易フレームワークです。

Title


Game

Ranking


機能は以下の通りです。

ライセンス

MIT License

Copyright (c) 2018 Yu Tanaka

前提

デモ

demo

最初の設定

このプロジェクトは、TextMesh ProやPostProcessing Stackなどのアセットを含みません。クローンしたままではエラーが出て動きませんので、以下に示す手順で設定をしてください。

まずは、このリポジトリーのmasterブランチをクローンするか、ReleasesからSource codeをダウンロードして、プロジェクトを入手してください。

UI Builderをお持ちの場合

ランキングとツイートの仮アイコン画像が、Assets/Images/UI Builderフォルダーに入っています。

Icon Files

これらは、UI - Builderの同名のファイルの利用を想定しています。UI Builderをお持ちの場合は、同ファイルをこのフォルダーに上書きコピーしておくと、本来のイメージ通りに表示されます。

Original Images

UI Builderのものを使う必要はないので、とりあえずそのまま利用したり、自由に書き換えてください。

公式パッケージを追加

Unityを起動して、サンプルプロジェクトを読み込んでください。まずは、TextMesh ProPost Processing Stack v2をインポートします。

Open Package Manager

Install Post Processing

Install TextMesh Pro

以上で、必要な標準パッケージのインストールは完了です。[x]ボタンでPackage Managerを閉じてください。

Close Package Manager

TextMesh Proの初期設定

TextMesh Proの基本アセットをインポートします。

Import TMP Essential Resources

※WindowメニューにTextMesh Proが見当たらない場合は、一度Unityを閉じて、再起動してください。

Import

以上で、ProjectビューにTextMesh Proフォルダーが作成されます。

オンラインランキングの設定

オンラインランキングに、naichiさん( @naichilab )とすずきかつーきさん( @divideby_zero )が公開して下さっているものを利用しています。以下に手順が掲載れているので、ニフクラの設定、および、関連データのインポートをしてください。

ニフクラSDKのバージョンは3.2.2で動作確認しています。

ニフクラライブラリの修正

Ver3.2.2のニフクラライブラリでは、通信完了を待つのにWaitForSeconds()を利用しているのですが、これだとTime.timeScaleの影響を受けてしまいます。今回のフレームワークでは、ゲームオーバーやクリア時の処理を停止させるためにTime.timeScale0にしているので、通信が進まなくなってしまいます。そこで、コードを一部変更します。

Open Script

yield return new WaitForSecondsRealtime (waitTime);

上書き保存します。これで、リアルタイムでの時間待ちになるのでTime.timeScaleの影響を受けなくなります。

注意!

このフレームワークを利用する場合は、ゲームオーバーやクリア時に同様の原因でアニメーションなどが停止します。停止させたくないUIなどでは、AnimatorのUpdate ModeUnscaled Timeにして、Time.timeScaleの影響を受けないように設定してください。

Set Unscaled Time

ツイート用ライブラリの設定

ツイート機能を追加します。これもnaichiさん( @naichilab )ご提供のものを利用しています。以下のリポジトリーを開いて、手順に従ってパッケージをダウンロードして、プロジェクトにインポートしてください。

TextMesh Proのフォントを作成する

TextMesh Pro用のフォントを作成します。このフレームワークでは、fontna.comさんのフリーフォント、ロゴたいぷゴシックを利用しています。ライセンスをご確認の上、ダウンロードしてください。

Drag&Drop Font File

Rename File Name

TextMesh Pro用のフォントの作成手順は、@thorikawaさんによる記事を参考にしました。記事の手順通りに進めてフォントを作成してください。

補足

作業手順の補足です。

Open Raw

Select All And Copy

Past

記事通りに作成が完了したら、SDFファイルをファイル名や場所を変更せずにそのまま保存してください。

保存が完了したら、TextMesh Proのウィンドウは閉じてください。

作成したフォントの適用

タイトルシーンにフォントを設定していきます。

Set Font

タイトルやコピーライトなど、自由に書き換えてください。

オーディオの実装

タイトル画面とゲーム画面のBGM2曲と、効果音が4種類鳴るように設定されています。フレームワークでは、以下のものを利用しました。

他の音でも構わないので、何か設定すれば指定のタイミングで音が鳴ります。

効果音

効果音ラボさんの以下の音源を利用しました。

BGM

BGMはH/MIX GALLERYさんの以下の音源を使いました。

以下のように、オーディオファイルはAssets/Audioフォルダーにまとめて入れておくとよいでしょう。

Audio Folder

オーディオの割り当て

以下の手順で割り当てます。

Select SoundController

Set Audios

設定したら、クリック時や、操作時に音が再生されるようになります。

動作確認

以上で設定完了です。ランキングやツイートが呼び出せることなど、ご確認ください。

タイトル画面

ゲーム画面

ゲームオーバー画面

クリア画面

ランキング画面

まとめ

このようなフレームワークを用意しておくことで、ミニゲームを素早く完成させることができます。ランキングやツイートなどを最初から実装しておけば、常に機能が利用できるので便利です。

ご参考になれば幸いです。

利用アセット/参考URL