
如上圖所示,unity3d開發(fā)過程中,尤其網(wǎng)絡(luò)游戲開發(fā)過程中,對(duì)unity3d的網(wǎng)絡(luò),數(shù)據(jù),邏輯,UI,渲染的應(yīng)用是比較全面的。
unity3d網(wǎng)絡(luò)
? ? unity3d的設(shè)計(jì)主旨在于游戲開發(fā),確實(shí)她達(dá)到了民眾對(duì)于他的期待,成為42%的游戲開發(fā)用戶的第一選擇。隨著網(wǎng)游技術(shù)的加強(qiáng),unity3d早期對(duì)于網(wǎng)絡(luò)方面的缺陷漸漸得到補(bǔ)充,這歸功于廣大開發(fā)者的努力。
? ? 游戲開發(fā)中的服務(wù)器端主要處理:游戲邏輯,數(shù)據(jù)存儲(chǔ)/處理/交換等大部分需要計(jì)算的邏輯。
? ? 游戲開發(fā)中的客戶端主要處理:游戲渲染,玩家輸入相應(yīng),服務(wù)器邏輯觸發(fā),數(shù)據(jù)獲取等邏輯。
? ? 當(dāng)前server與client需要處理的事情分的比較開,針對(duì)大公司,開發(fā)流程比較固定,網(wǎng)絡(luò)技術(shù)比較成熟,周期也比較短。對(duì)于小公司,網(wǎng)絡(luò)技術(shù)一般難度較大,形成產(chǎn)品很不穩(wěn)定。
? ? 目前存在三種unity3d網(wǎng)絡(luò)開發(fā)方式:
1 基于Http開發(fā)的方式,舉例說明,如果想要開發(fā)一個(gè)網(wǎng)頁(yè)web3d的應(yīng)用程序,此時(shí)選擇使用u3d的方式進(jìn)行開發(fā),具體來說,網(wǎng)上培訓(xùn)考試系統(tǒng),邏輯中對(duì)于網(wǎng)絡(luò)的要求是考生考題/答案數(shù)據(jù)的存儲(chǔ)處理以及判定邏輯需要在服務(wù)器上進(jìn)行,客戶端只需要觸發(fā)獲得數(shù)據(jù)即可,不需要實(shí)時(shí)獲取存儲(chǔ)數(shù)據(jù),該方式最好采用基于http的方式點(diǎn)獲取即可。
2 基于tcp udp方式,該方式比較多的應(yīng)用于手機(jī)網(wǎng)絡(luò)游戲,是目前比較多見的方式,如游戲中人物位置實(shí)時(shí)同步,人物等級(jí),游戲關(guān)卡等動(dòng)態(tài)數(shù)據(jù)的存儲(chǔ)更新交換所采用的方式,具體來說就是采用socket+protobuffer的方式,進(jìn)行網(wǎng)絡(luò)連接數(shù)據(jù)交換,尤其數(shù)據(jù)以及邏輯比較快速時(shí)采用。大多數(shù)時(shí)候,游戲登陸之前采用http的方式進(jìn)行用戶判定,公告加載,登錄背景圖加載等操作,此時(shí)用戶與服務(wù)器采用長(zhǎng)連接形式,游戲玩家登陸后建立客戶端與服務(wù)器建立短鏈接,實(shí)時(shí)更新玩家數(shù)據(jù),游戲數(shù)據(jù)。
3 基于u3d引擎綁定方式:如photon服務(wù)器,類似于云服務(wù)類型,這種方式比較麻煩,貌似有些提供商的服務(wù)器在中國(guó)還沒有,需要連接韓國(guó)服務(wù)器,需要花錢買這種服務(wù)器的管理,靈活性不是很高,使用度不高。