前言
在虛擬現(xiàn)實(shí)項(xiàng)目中,語(yǔ)音通訊幾乎是必備的功能。在網(wǎng)絡(luò)中尋找各種unity的sdk時(shí)候,我找到一款sdk非常適合,它具有音質(zhì)好,低延遲,抗掉線能力強(qiáng),月免費(fèi)1萬(wàn)分鐘等特性,極其適合新手入門(mén)。下面我們來(lái)講講怎么只用幾個(gè)步驟,快速集成agora語(yǔ)音sdk。
目錄
1 oculus安裝
2 聲網(wǎng)sdk安裝
3 Photon安裝
4 綜合運(yùn)用
第一章
Oculus安裝
a) 新建unity工程
b) 切換到安卓平臺(tái),并打開(kāi)player setting
d) 添加X(jué)R插件(2019.4以上),打開(kāi)pc和移動(dòng)的oculus選項(xiàng),如果你pc裝了quest link調(diào)試會(huì)更方便
e) 修改player里other setting符合oculus的要求
f) 從商店導(dǎo)入oculus sdk
g) 完成
第二章
聲網(wǎng)安裝
首先建立unity工程,我是用的是2019.4的版本。
4
然后進(jìn)入Asset Store
搜索Agora,點(diǎn)進(jìn)去Agora voice
點(diǎn)擊download,然后import
把資源都導(dǎo)入unity
打開(kāi)HelloUnity3D工程

在GameController輸入APP ID(后面有講如何注冊(cè))

點(diǎn)擊運(yùn)行,下面看到的是工程的UI,文本框是輸入房間號(hào),按鈕是進(jìn)入房間
我們可以輸入lobby進(jìn)行簡(jiǎn)單測(cè)試,點(diǎn)擊運(yùn)行,點(diǎn)擊加入
我們?cè)诹硗怆娔X進(jìn)入https://webdemo.agora.io/agora-web-showcase/examples/Agora-Custom-VideoSource-Web/網(wǎng)頁(yè),輸入id和房間號(hào)后,兩臺(tái)電腦就可以語(yǔ)音通訊了,放不方便,簡(jiǎn)不簡(jiǎn)單?
注冊(cè)賬號(hào),打開(kāi)聲網(wǎng)agora主頁(yè)https://www.agora.io/cn/ ,點(diǎn)擊注冊(cè)

快速注冊(cè)后就能使用,不想填這么多可以使用左下微信注冊(cè)
點(diǎn)擊左邊水晶球后,創(chuàng)建一個(gè)自己的項(xiàng)目(名字你喜歡),再點(diǎn)擊右邊小眼睛就可以看到和復(fù)制你的APP ID,復(fù)制過(guò)去unity里就ok,注冊(cè)的效率非常高

第三章
Photon安裝
a) 官方商店下載photon sdk
b) 導(dǎo)入后需要填入photon的appid,具體見(jiàn)注冊(cè)連接
c) 這樣photon也算安裝完成了
第四章
綜合運(yùn)用
a) 思路
i. 主要場(chǎng)景使用的是oculus debug ui的場(chǎng)景
ii. 將聲網(wǎng)的菜單做成prefab導(dǎo)入到主場(chǎng)景使用作為登錄界面
iii. 將把雙手和頭(一個(gè)方塊)做成一個(gè)prefab在玩家加載時(shí)候自動(dòng)生成,并連接到玩家自己自身的追蹤系統(tǒng)中
b) 開(kāi)始打開(kāi)hellounity3d場(chǎng)景,將Canvas和GameController拉下來(lái)做成prefab(等下在coulus場(chǎng)景要用)
c) 打開(kāi)debug ui場(chǎng)景,把之前的Canvas和GameController拉上來(lái),配置好大小,位置,模式設(shè)置成world spcae。

d) 下面開(kāi)始制作角色的頭和雙手,新建一個(gè)cube做頭,把customhand的左右手拉
到cube的下面

e) 設(shè)置cube的屬性,大概0.3米大小,給他增加一個(gè)photon view腳本,給兩個(gè)雙手也加上photon view,這樣他們?cè)诰W(wǎng)絡(luò)上也能看到了
f) 寫(xiě)一個(gè)腳本,讓他生成后自動(dòng)附著到頭和雙手的追蹤系統(tǒng)上,這樣,別人就可以看到移動(dòng)的你了,腳本掛到cube和左右手上,objname填上
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingPhoton.Pun;publicclassAttachToCamera:MonoBehaviourPun{publicGameObjectcam;publicstringobjname;// Start is called before the first frame updatevoidStart(){if(photonView.IsMine){cam=GameObject.Find(objname);this.transform.SetPositionAndRotation(cam.transform.position,cam.transform.rotation);this.transform.parent=cam.transform;}}// Update is called once per framevoidUpdate(){}}
g) Objname填入CenterEyeAnchor,LeftHandAnchor,RightHandAnchor
h) 把cube拉到Resources文件夾編程prefab,然后把場(chǎng)景的cube刪掉
i) 開(kāi)始制作Photon的生成,建立一個(gè)PhotonManager空物體,上面掛上圖上兩個(gè)腳本,一個(gè)是自動(dòng)進(jìn)入房間,一個(gè)是加入后自動(dòng)生成角色(就是方塊頭和手柄)
j) 要我們手柄檢測(cè)到菜單要加上ovrraycaster腳本
k) 虛擬現(xiàn)實(shí)鍵盤(pán)輸入不方便先給agora的房間設(shè)定一個(gè)預(yù)設(shè)房間號(hào)123吧,以后再寫(xiě)鍵盤(pán)輸入的

m) 點(diǎn)擊播放按鈕,就可以了,photon會(huì)自動(dòng)進(jìn)入房間,聲網(wǎng)點(diǎn)擊控制器的A點(diǎn)擊JoinChannel可以進(jìn)去
n) 點(diǎn)擊左上菜單,file ->build setting
o) 把導(dǎo)出的apk安裝進(jìn)oculus quest,運(yùn)行,完成