Unity コンテンツは,Unity Web Player プラグインによってブラウザにロードされます。 HTML コードは通常,このプラグインと直接通信せず,UnityObject というスクリプトを通じて通信します。 その主な作業は,ユーザーをブラウザやプラットフォーム固有の各種問題から保護することで,Unity コンテンツに非常にシンプルな作業を組み込みさせることです。 また,これによって,ウェブ プレイヤーを簡単にインストールできます。
ウェブ プレイヤー作成時に Unity が生成した HTML ファイルには,一般に必要とされる機能がすべて含まれます。 ほとんどの場合,HTML ファイルを編集する必要はありません。 本書の残りで,このファイルの内部での動作について説明します。
使用する前に,UnityObject スクリプトをロードする必要があります。 これは,<head>の上部で行われます。
<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>
UnityObject2クラスはUnityでの様々なタスクをアシストするために生成され,Unityのコンテンツを埋め込むという大事な役割を持っています。これはUnityObject2を生成しinitPluginを呼び出すことで埋め込むことが可能です。initPluginはいくつかの引数を受け取ります。第1引数はUnityコンテンツによって置き換えるHTML要素のidを指定します。これは <div>要素であることが好ましいです。このdiv要素はUnityコンテンツと置き換えるためのプレースホルダと考えてください。第2引数は表示するWebPlayerのデータファイルのパスを指します。更に詳しい詳細はUnityObject2.initPluginを御覧ください
var u = new UnityObject2();
u.initPlugin(jQuery("#unityPlayer")[0], "Example.unity3d");
最後に,HTML プレースホルダーは,<body>内に配置されます。 これは,<div id=“unityPlayer” />のようにシンプルな形になります。 しかし,最大限の互換性を得るには,ブラウザが JavaScript をサポートしておらず,プレースホルダーが UnityObject で置換されない場合は,警告メッセージを配置するのがベストです。
<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>