UnityでビルドしたWebGLのゲームを外部からJavaScriptで操作したい場合、unityInstance
のSendMessage
を使うと実装できるみたいです。注)
実装の仕方
WebGLでビルドするとindex.html
というファイルが作られると思いますので、<body>
から</body>
の間のどこかに
<input type="button" value="ボタン" onclick="…">
のような感じでコードを追加します。
このonclick
の部分でunityInstance.SendMessage
を実行すればWebGLのゲームにメッセージを送ることができるみたいです。
Example
オブジェクトのFunction
メソッドを呼び出したい場合
unityInstance.SendMessage('Example', 'Function');
Example
オブジェクトのFunction
メソッドにvalue
を引数として渡して呼び出したい場合
unityInstance.SendMessage('Example', 'Function', value);
※メッセージを送るトリガーとしてボタンを使う必要はありませんので、その辺りは適当に読み替えてください。
リンク
Unity – Manual: WebGL: Interacting with browser scripting
https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html
注) 古いドキュメントではgameInstance
となっている場合もありますが、Unity 2019.1以降はunityInstance
に変更されたそうです。
関連記事
UnityのWebGLでテキストが表示されない場合の対処方法
Unity Editorのデバッグ画面ではテキストが表示されているのにWebGLでビルドするとテキストが表示されないという場合、Assetにフォントを追加して、そのファイルを使うようにしてみると表示されることがあるみたいです。
困っているという人は試してみてください。
※日本語テキストを表示したい場合は日本語対応のファイルを準備する必要があります。フォント関係はライセンスが複雑な場合...
UnityでビルドしたWebGLゲームのURLが知りたい場合
UnityでビルドしたWebGLのゲームで、実行時にURLが知りたい場合はApplication.absoluteURLを使って確認できるみたいです。
使い方
Debug.Log(Application.absoluteURL);
ちなみに、Android/iOS/UWPでビルドした場合、absoluteURLはdeep link URLになっているそうです。WebGL以外でa...
WebGLを使ったFirefox OSアプリをWindowsストアアプリ化
WebGLを使ったFirefox OSアプリをWindowsストアアプリ化する記事
HTML5で可能になった6OS対応時代のスマート開発(3):Firefox OS/Tizenに使ったWebGL/Three.jsアプリをWindowsストアアプリ化しよう (1/2) - @IThttp://www.atmarkit.co.jp/ait/articles/1311/21/news039.ht...