剛好遇到這問題。
Unity輸出成WebGL遊戲,InputField無法開啟IME(打字選字時會跳出來的東西),所以只能輸入英文。
呼叫網頁開啟對話dialog給使用者輸入,並回傳Unity遊戲。
1.載字體
雖然在Unity的預設Arial字體能看到中文字,但實際輸出成WebGL是沒有中文字體的,所以請去抓個中文字體包給Text物件。
官方文件寫的滿清楚的。創個副檔名.jslib的檔案在Plugins資料夾下,把方法定義打在mergeInto(LibraryManager.library, {});內。例如我宣告GetNameInput 方法去開啟瀏覽器對話框。注意變數宣告要用var,用let會出錯。第8行跟文件的有點不一樣,等等解釋。
雖然Unity呼叫的js方法能有回傳值,但我們這邊是要等用戶輸入,所以32行的變數input在觸發方法的當下是空字串。 這邊改由js輸入完後傳入Unity的反向操作回傳,如35行。
若用的WebGL模板抓不到unityInstance 就會出現這個error。
打開editor的WebGL模板(template)的index.html檔案,找到createUnityInstance方法:
像第85行打上:window.unityInstance = unityInstance; (把instance記在瀏覽器上)
別問我為甚麼要做成網頁遊戲??? ,話說有人知道手機看WebGL解析度超級差的解決方法嗎?
最近在重寫自己的網站,在首頁做了些蝦趴特效,之後再寫個筆記