UnityのWebGLゲームを外部からJavaScriptで操作する方法

UnityでビルドしたWebGLのゲームを外部からJavaScriptで操作したい場合、unityInstanceSendMessageを使うと実装できるみたいです。注)

実装の仕方

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ゲームの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...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です