Jkeeper 发布的文章

為了一勞永逸解決測試轟炸超人手機上虛擬搖桿問題, 想了很久剛好還有一把庫存的手把,於是
決定直接在PC上接入XBox手把

XBox手把配置如下
41942-f5yo4cqbrmd.png

我們要用到X axis, Y axis 來作為測試用, 必須是可以圓滑操控的

在 Unity 開啟 Input Setting , 先新增兩組設定, 再 Copy "Horizontal" 並貼在新增的配置上
82959-11k6lbsgcwri.png

新增的配置如下, 將
[Horizontal]
Type: Joystick Axis
Axis: X axis
Joy Num: Get Motion form all Joysticks

[Vertical]
Type: Joystick Axis
Axis: Y axis
Joy Num: Get Motion form all Joysticks
76976-1fgin4qaid4.png

接著寫一段代碼測試, 沒有問題就可以開始用
86113-3tyczsxqew3.png

SoftMaskForUGUI插件地址
https://github.com/mob-sakai/SoftMaskForUGUI/tree/main

在 manifest.json 配置如下:

"com.coffee.softmask-for-ugui": "https://github.com/mob-sakai/SoftMaskForUGUI.git#1.0.0"

結果出現了下面的錯誤

An error occurred while resolving packages:
  Project has invalid dependencies:
    com.coffee.softmask-for-ugui: Error when executing git command. fatal: unable to connect to github.com:
    github.com[0: 20.205.243.166]: errno=No error
unity package manager 無法連到github

21256-zrtfvigjycd.png

unity package manager 不使用IE代理配置, 必須要設定 http_proxy

開啟vpn自動配置系統代理, 從 vpn 可以看到 http 監聽端口為 socket port + 1
58881-ilxtcqkzoxq.png

開啟後去代理設定裡面查看, 果然是 10809(10808+1)
26739-ml5o2uu25r.png

接著參考 unity 說明添加系統配置

http_proxy : http://127.0.0.1:10809
https_proxy : http://127.0.0.1:10809

https://docs.unity3d.com/cn/2019.3/Manual/upm-network.html
51004-mk0vox3mtl.png

接著把 unity 關閉後並且重啟 unity hub 開啟專案
發現還是錯的回頭去看 manifest.json, 把 https 改成 http, https 必須要有證書, 所以改成 http 試試看
86105-snwqvat5zp.png

package manager 重刷後發現成功了, 從 vpn log 也察看到對應的請求
http://github.com/mob-sakai/SoftMaskForUGUI.git/info/refs?service=git-upload-pack [http -> proxy]
94666-qvy3fpqxkz.png

接著就是把 demo 給匯入
08444-xc30u86zbla.png

測試使用 QR CodeBarcode Scanner and Generator 插件

將插件引入unity項目中, 使用debug key進行打包apk, 發生下面這個錯誤

13258-q8bqwcwdsp.png

這是因為打包apk過程中要下載groovy-all-2.4.15.jar, 連接不到的緣故
我們改成 export project 打包出來再用 android studio 處理

16758-1x9ru8x2x9ri.png

Android執行完成 gradle files 進行安裝後出現下面問題

The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFOR

找到 intent-filter 的地方, 在前面加 android:exported="true", 如下
47714-53jp1y06k3.png

在打包, 出現下面問題

The application could not be installed: SHELL_UNRESPONSIVE

把手機vpn打開, 這台 pixel install apk 如果沒有翻牆就會卡住, 而且在桌面會找不到app, 但軟件清單裡面卻可以找到

最後執行閃退了

93084-77uocp3pg1.png

這是因為沒有打開 camera 權限, 開啟之後就好了

之前為了參考github的轟炸超人AI, 發現source的盤面跟設計的剛好相反,於是用了python做了轉換

原本的盤面數據, 轉換如下

a = [
[0,0,0,0,2,0,2,0,0,0,0,0,1,0,1,0,2,0],
[0,0,0,1,0,1,2,1,2,0,1,0,0,2,0,0,0,1],
[2,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,1,2,1,2,2,0,0,0,0,1,0,1,0,1,1],
[2,0,2,0,2,0,2,0,0,1,0,0,0,2,0,2,0,0],
[0,1,0,1,0,1,0,1,0,1,2,2,1,0,1,2,1,0],
[2,0,2,0,2,2,2,0,2,0,0,0,2,2,0,2,0,2],
[0,1,0,1,0,1,0,0,0,0,2,2,0,2,0,2,0,0],
[0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0]
]

b = [[0 for _ in range(len(a))] for _ in range(len(a[0]))]
for j in range(len(a)):
    for i in range(len(a[0])):
        b[i][j] = a[j][i]

59494-7vx73wa8xbg.png

打包pc版本執行出錯, 將 dump 拉到 vs 看到
64391-gxdywjxrild.png

Player.log 如下, 出錯
il2cpp::vm::Class::GetVirtualMethod
23294-t3cts96ok4n.png

後來發現打開 Deep Porfiling support 就會出現這個問題, 關掉就行了
03074-taa9z3vor9h.png