緣起:
昨天大部份時間都在研究怎麼將 android 與 unity 結合,它們都有各自的長處,所以,怎麼在 unity 中始用 android 原生的功能,或是怎麼在 android 設技中嵌入 unity 的頁面就變成我好奇的一個點,在這邊整裡一下我找到的有用資源,方便之後再回頭看。
Unity 打包成 Library 加到 Android App:
原文連結
GitHub 上面的東西,操作寫得很詳細,只要下載它提供的 Unity 與 Android 專案後,照著指示一步一步做,就能達成 (但我目前還是看不懂 gradle 的東西,之後大概要花時間學學了)。
不過,在我整個步驟都弄好,要把程式傳到 android 虛擬機上時,android studio 就報錯,我也不知為啥會發生這種錯誤。
build 是成功了,不過在安裝時出錯 |
後來我換成用我平板的 usb debug 模式測試後,居然就成功了 ??? 算了,能跑就好。簡單來說,它一開始進入 app 後,會有兩個 button ,你按下 SHOW UNITY 後,Unity 的 Activity 就會被開啟,你就能進入 Unity 的頁面。
android 介面 |
unity 的介面 |
它應該是沒特別為平板大小的螢幕專門設計啦,所以才會一堆跑板,不過,Button 按下後都有正常反應。我後來還發現,安裝上去的其實是兩個 app ,一個是 android 介面,叧一個是 unity 介面的,也就是說,我能單獨開啟那個 unity 的介面。
Unity - Android Plugin:
原文連結
這東西就是,教你怎麼在 android studio 那邊寫好 android 的功能,再把寫好的東西打包成 jar 檔到 unity 裡面呼叫。啊他的文章就寫得很好了,我這邊也就不重覆他的動作來獻醜了,但有些地方我在操作時出了點問題,所以下面就來記錄下我覺得值得記錄的部份。
第 3 步那邊,要在安裝 unity 的目錄下找一個叫 classes 的 jar 檔,然後把那個檔案加到 android 專案的 libs 資料夾裡,再把它加為程式庫,這樣就能 import unity 的功能。不過可能是因為它 unity 的版本跟我不同 (我是 2019.3.5f1),所以有些路徑不同,我最後是找個大概的位置後,用 windows 的搜尋檔案功能,才找到那個檔案,它在 Unity\Hub\Editor\2019.3.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Development\Classes 裡。
第 12 步那邊,我 build 成功後,我並沒有在看到 app 下有 release 這個資料夾,所以我後來就直接去 app 的 build 那邊找,最後在 build\intermediates\aar_main_jar\release 裡找到那個 classes.jar 檔。
之後,我把那個 jar 檔丟到 unity 測試,由於我那時是寫個呼叫 Toast 的 function,在電腦上測試時並沒有跑出來 (大概是要在手機上跑才會顯示),我也就不知道我寫的 android pluging 到底有沒有用,可能之後再 try try 吧。
在unity中使用內置android方法:
我注意到在上面那個文章的最後,它有說要在 unity 的 C# 裡使用 AndroidJavaClass 這 class,看這名字,該不會我能透過這個 class 來取得 android 原生的 class ,並使用嗎 ? 一查果然如此,而且還找到了一篇很強大的教學文。
原文連結
然後就 copy 了他的 toast 程式來試試
沒有留言:
張貼留言