Unity Web プレイヤーのロード画面
Unity Web Player とブラウザーの通信

Unity Web Player の動作カスタマイズ

Unity Web Player は開発者が動作を簡単に制御するためのパラメーターが複数あります。

  • disableContextMenu : このパラメーターはユーザーが Unity Web Player 上で右クリックしたときコンテキストメニューを表示するかどうかを制御することができます。これが true の場合、コンテキストメニューが表示されなくなり、Unity Web Player 内で右クリックを利用することができるようになります。コンテキストメニューを表示させたい場合にはこのパラメーターを含めないようにしてください。
  • disableExternalCall : このパラメーターは、Unity Web Player とブラウザーベースの Javascript との通信を許可するかどうかを制御します。これが true の場合、ブラウザーとの通信を行わないので Javascript の呼び出しや実行ができません。デフォルトでは false になっています。
  • disableFullscreen : このパラメーターは Unity Web Player のフルスクリーンモードで表示を許可するかどうかを制御します。これが true の場合、フルスクリーンの実行は許可されず、コンテキストメニューの“Go Fullscreen”をエントリーから削除します。デフォルトでは false になっています。

UnityObject2 では以下のように制御を行います。

var params = {
    disableContextMenu: true
};
var u = UnityObject2({ params: params });
u.initPlugin(jQuery("#unityPlayer")[0], "Example.unity3d");


上記の例では disableExternalCalldisableFullscreen が指定されていないことにあなたは気付くことでしょう。それらはデフォルト値が使用されます。

さらに詳しい詳細は UnityObject2 の働きを参照してください。

以下がすべての動作オプションを設定する例になります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Unity Web Player | "Sample"</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
        <!--
        var unityObjectUrl = "http://webplayer.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject2.js";
        if (document.location.protocol == 'https:')
            unityObjectUrl = unityObjectUrl.replace("http://", "https://ssl-");
        document.write('<script type="text\/javascript" src="' + unityObjectUrl + '"><\/script>');
        -->
    </script>
        <script type="text/javascript">
        var params = {
            disableContextMenu: true,
            disableExternalCall: false,
            disableFullscreen: false,
        };
        var u = new UnityObject2({ params: params });
        u.observeProgress(function (progress) {
            var $missingScreen = jQuery(progress.targetEl).find(".missing");
            switch(progress.pluginStatus) {
                case "unsupported":
                    showUnsupported();
                break;
                case "broken":
                    alert("You will need to restart your browser after installation.");
                break;
                case "missing":
                    $missingScreen.find("a").click(function (e) {
                        e.stopPropagation();
                        e.preventDefault();
                        u.installPlugin();
                        return false;
                    });
                    $missingScreen.show();
                break;
                case "installed":
                    $missingScreen.remove();
                break;
                case "first":
                break;
            }
        });
        jQuery(function(){
            u.initPlugin(jQuery("#unityPlayer")[0], "Example.unity3d");
        });
        </script>
    </head>
    <body>
        <p class="header">
            <span>Unity Web Player | </span>WebPlayer
        </p>
        <div class="content">
            <div id="unityPlayer">
                <div class="missing">
                    <a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now!">
                        <img alt="Unity Web Player. Install now!" src="http://webplayer.unity3d.com/installation/getunity.png" width="193" height="63" />
                    </a>
                </div>
            </div>
        </div>
        <p class="footer">&laquo; created with <a href="http://unity3d.com/unity/" title="Go to unity3d.com">Unity</a> &raquo;</p>
    </body>


Unity Web プレイヤーのロード画面
Unity Web Player とブラウザーの通信