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でテキストが表示されない場合の対処方法
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...

コメントを残す

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