RiG++ロゴUnityPackage
おはようございます、こんにちは、こんばんわ
助光(Sukemitsu)でっす
今回制作したのはUnityでRiG++のロゴを表示するアセットです
制作理由
まぁ、制作理由として
よくゲームで起動時にゲームの制作に携わった企業のロゴが表示されるじゃないですか
あれがやりたかった!!!
これがあるだけでRiGで作ったゲームですとわかりやすくていいですよね
とりあえずで自分が企画したゲームに実装して、それを新しいゲーム作るたびに何回もプログラムしたくなくて、あとみんなにも使ってほしくてアセットとして制作しましたのん
Package内容物
Package内の中身は
・Image
┣RiG++_black.png
┗RiG++_white.png
・Scenes
┗RiG_LogoScene.unity
・Scripts
┣FadeController.cs
┣ImageLogoManager.cs
┗SceneObject.cs
っといった感じになっています
詳しく説明していくと
Image内のpng2つはロゴの画像データです
基本的に白いほうだけあればUnityのImageのColorを弄ればどんな色にもできるのでRiG++_black.pngは必要ないのですが、そこら辺のことを理解していない人がいるかもしれないので念のために入れています
Scenes内のRiG_LogoScene.unityはUnityのSceneです
基本的にこれをゲームに組み込むだけでRiGのロゴを起動時に表示することができます
Scripts内のcs3つはC#scriptのデータです
弄らなくてもパッケージの使用に関しては問題ないです
使い方
使い方は非常にシンプルです
1.BuildSettingでScenesInBuildの0番にRiG_LogoSceneを設定する
2.RiG_LogoSceneを開く
3.GameObject「EventSystem」のInspectorにImageLogoManager.csがあるので、それのNextSceneに次に読み込みたいSceneをアタッチする
この3ステップだけでゲーム起動時にRiG++のロゴが表示されてゲームが始まります
Unityを理解している人はInspectorでSceneは扱えないのでは?と疑問に思うかもしれませんが、SceneObject.csによってSceneをInspector上で扱えるようにしています
詳しくはこちら
SceneをInspector上で扱えない場合、他人が書いたscriptを読み込んで、Sceneをロードしている箇所を見つけ出して、読み込ませたいSceneの名前に書き換える手間が発生するため、非常に不便になってしまうのでSceneObject.csを導入しました
FadeController.csはクラスなのでこのUnityPackageをインポートすると他の部分でも利用できます
中身は上記のような感じになっていて、
FadeController fadecontroller;
void Start()
{
fadecontroller = new FadeController();
}
のように書けばFadeControllerのpublicメソッドを自由に使えるようになり、フェードイン、フェードアウト処理を使いたいときなんかに利用できます
FadeControllerのメソッドは処理後の不透明度を返すようになっているのでif(fadecontroller.ImageFadeIn(image, 1) >= x)などでフェード途中で処理を切り替えたり、フェードが終わってから処理を実行などが簡単にできます
フェード処理は基本的に1秒で終わるため、引数のspeedがTime.deltaTimeと掛け合わされて処理されるので、遅くしたい場合は1より小さく、早くしたい場合は1より大きくしてください