推薦2個(gè)倉(cāng)庫(kù),它們將告訴你怎么把手中的手機(jī)變成可以在Unity 工程中使用的手柄 / 控制器。
GitHub 上的工程多如繁星,有些好的倉(cāng)庫(kù),但凡不經(jīng)意間錯(cuò)過(guò)了就很難找回,故稍作采擷,希望能幫助到有心人。
前言:
筆者今天推薦的倉(cāng)庫(kù):
-
MobileVRController: - Convert your smart phone to a VR controller linked with Unity3D
- 通過(guò) Unity 將你的智能手機(jī)變成一個(gè) VR(虛擬現(xiàn)實(shí))的控制器. -
Socketphonecontroller: - Using Websockets to transmit orientation data from smartphone to Unity
- 使用 WebSockts 技術(shù)將智能手機(jī)的 Orientation(方位)數(shù)據(jù)傳到 Unity /Unity 開(kāi)發(fā)的App。
No1. MobileVRController
功能:
- GyroServiceProvider: 提供陀螺儀實(shí)時(shí)數(shù)據(jù)
- AccelServiceProvider: 提供加速度傳感器實(shí)時(shí)數(shù)據(jù)
- TouchServiceProvider: 提供觸控?cái)?shù)據(jù)以及按壓數(shù)據(jù)(如果支持屏幕按壓的話)
- SwipeServiceProvider: 提供滑動(dòng)方向
- (new)FeedbackServiceProvider: 向手機(jī)提供反饋數(shù)據(jù)(形如手機(jī)震動(dòng))
使用
- 將 Sender 場(chǎng)景打包出來(lái),給手機(jī)使用。
- 將 ServiceManager 腳本掛在場(chǎng)景中
- 注冊(cè) ServiceManager.OnValueChanged 事件用于驅(qū)動(dòng)游戲?qū)ο蟆?/li>
- 先開(kāi)啟手機(jī) APP 且在同一 Wifi 下保證可被連接。
演示:
![]() 觸控信息
|
![]() 旋轉(zhuǎn)與按壓
|
|---|---|
![]() 旋轉(zhuǎn)和加速度
|
No2. Socketphonecontroller
功能:
- 這個(gè)功能較為簡(jiǎn)單,僅僅是提供了一個(gè)方位指向呢。
- 它使用了一個(gè)有別于上面的連接方式:通過(guò)瀏覽器獲取數(shù)據(jù)并由網(wǎng)頁(yè)返回?cái)?shù)據(jù)。(猜的,哈哈)
- 另外它的應(yīng)用場(chǎng)景很有意思,那就是把手機(jī)放凳子上,人帶上 VR 頭盔,坐在這個(gè)凳子上扭屁股控制凳子轉(zhuǎn)動(dòng)進(jìn)而控制機(jī)甲轉(zhuǎn)向。。。
演示:

結(jié)語(yǔ):
- 使用手機(jī)控制模型的展示或者設(shè)備的轉(zhuǎn)向,用到實(shí)處,給自己的工程新增小小的一個(gè)亮點(diǎn),給體驗(yàn)者帶來(lái)一個(gè)小小的驚喜,希望童靴們喜歡!
- 轉(zhuǎn)載請(qǐng)注明出處,謝謝~
本文集持續(xù)更新ing,喜歡記得點(diǎn)贊關(guān)注哦!


