LoginSignup
12
10

More than 5 years have passed since last update.

Unity の SplashScreen API を触ってみる

Posted at

Unity5.5より、新しいスプラッシュスクリーン機能が追加されました。

この新しい機能についての使い方は公式ブログにある3分程度の動画で紹介されています。英語ですが、とてもわかりやすく簡単な機能なので理解はしやすいと思います。

[更新]開発進行中、スプラッシュスクリーンツール[5.5ベータ版に入りました]
https://blogs.unity3d.com/jp/2016/09/12/update-in-development-unity-splash-screen-tools-in-beta/

ss 2016-12-20 0.53.07.png

今回は、このスプラッシュ機能をAPIから利用してみます。

ドキュメントを読む

すでに SplashScreen API はドキュメント化されています。

UnityEditor.PlayerSettings.SplashScreen

ss 2016-12-20 0.57.12.png

スプラッシュスクリーンの設定を行うためのクラスです。APIを見る限り、特にアクセス制限はなく、スクリプト経由で最大限にカスタマイズが行えます。

試しに、プラットフォームごとにロゴを変更してみます。

NewBehaviourScript.cs
using UnityEditor;
using UnityEngine;

public class NewBehaviourScript
{
    [InitializeOnLoadMethod]
    static void ChangeSplashScreen()
    {
        //プラットフォーム切替時に発火
        EditorUserBuildSettings.activeBuildTargetChanged += () =>
        {
            var logos = new PlayerSettings.SplashScreenLogo[0];

            switch (EditorUserBuildSettings.activeBuildTarget)
            {
                case BuildTarget.StandaloneOSXIntel64:
                    logos = new[]
                    {
                        PlayerSettings.SplashScreenLogo.Create(2f,
                            AssetDatabase.LoadAssetAtPath<Sprite>("Assets/StandAlone.png"))
                    };
                    break;
                case BuildTarget.WebGL:
                    logos = new[]
                    {
                        PlayerSettings.SplashScreenLogo.Create(2f,
                            AssetDatabase.LoadAssetAtPath<Sprite>("Assets/WebGL.png"))
                    };
                    break;
                default:
                    break;
            }

            PlayerSettings.SplashScreen.logos = logos;
        };
    }
}

UnityEngine.Rendering

ss 2016-12-20 0.58.33.png

スプラッシュスクリーンの描画を制御するクラスです。このクラスが何故あるかというと、より込み入ったスプラッシュスクリーンの演出をしたいときに使用するためです。

例えば、スプラッシュスクリーンの表示中に音を出したり、裏側で通信やシーンを読み込んだりと、開発者としても「待つ」しかなかったスプラッシュの部分で様々な処理が行えるようになります。このAPIを使うときはPlayerSettingsにある「Show SplashScreen」のチェックを外しておきましょう(チェックを外せるのはProユーザーのみ)。

ss 2016-12-20 1.25.12.png

余談

Unity5.6から MoviewTexture に代わる VideoPlayer が実装されました。

14889825_10154342221551773_6220655481924906166_oのコピー.jpg

もしかすると将来的にスプラッシュスクリーンで動画を再生することができるようになるかもしれませんね。

2fa2446d287dfc3bb249fc6a8c803cb0.gif

余談2

本エントリーとあまり関係ないですがドキュメントを見やすくしたChrome拡張「Unity Documentation Extensions」を作ってるので良かったら使ってみてくださいね。

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10