如上圖所示,unity3d開發(fā)過程中躬络,尤其網(wǎng)絡(luò)游戲開發(fā)過程中尖奔,對unity3d的網(wǎng)絡(luò),數(shù)據(jù)穷当,邏輯提茁,UI,渲染的應(yīng)用是比較全面的馁菜。
unity3d網(wǎng)絡(luò)
? ? unity3d的設(shè)計主旨在于游戲開發(fā)茴扁,確實她達到了民眾對于他的期待,成為42%的游戲開發(fā)用戶的第一選擇火邓。隨著網(wǎng)游技術(shù)的加強丹弱,unity3d早期對于網(wǎng)絡(luò)方面的缺陷漸漸得到補充德撬,這歸功于廣大開發(fā)者的努力。
? ? 游戲開發(fā)中的服務(wù)器端主要處理:游戲邏輯躲胳,數(shù)據(jù)存儲/處理/交換等大部分需要計算的邏輯蜓洪。
? ? 游戲開發(fā)中的客戶端主要處理:游戲渲染,玩家輸入相應(yīng)坯苹,服務(wù)器邏輯觸發(fā)隆檀,數(shù)據(jù)獲取等邏輯。
? ? 當前server與client需要處理的事情分的比較開粹湃,針對大公司恐仑,開發(fā)流程比較固定,網(wǎng)絡(luò)技術(shù)比較成熟为鳄,周期也比較短裳仆。對于小公司,網(wǎng)絡(luò)技術(shù)一般難度較大孤钦,形成產(chǎn)品很不穩(wěn)定歧斟。
? ? 目前存在三種unity3d網(wǎng)絡(luò)開發(fā)方式:
1 基于Http開發(fā)的方式,舉例說明偏形,如果想要開發(fā)一個網(wǎng)頁web3d的應(yīng)用程序静袖,此時選擇使用u3d的方式進行開發(fā),具體來說俊扭,網(wǎng)上培訓(xùn)考試系統(tǒng)队橙,邏輯中對于網(wǎng)絡(luò)的要求是考生考題/答案數(shù)據(jù)的存儲處理以及判定邏輯需要在服務(wù)器上進行,客戶端只需要觸發(fā)獲得數(shù)據(jù)即可萨惑,不需要實時獲取存儲數(shù)據(jù)捐康,該方式最好采用基于http的方式點獲取即可。
2 基于tcp udp方式庸蔼,該方式比較多的應(yīng)用于手機網(wǎng)絡(luò)游戲吹由,是目前比較多見的方式,如游戲中人物位置實時同步朱嘴,人物等級倾鲫,游戲關(guān)卡等動態(tài)數(shù)據(jù)的存儲更新交換所采用的方式,具體來說就是采用socket+protobuffer的方式萍嬉,進行網(wǎng)絡(luò)連接數(shù)據(jù)交換乌昔,尤其數(shù)據(jù)以及邏輯比較快速時采用。大多數(shù)時候壤追,游戲登陸之前采用http的方式進行用戶判定磕道,公告加載,登錄背景圖加載等操作行冰,此時用戶與服務(wù)器采用長連接形式溺蕉,游戲玩家登陸后建立客戶端與服務(wù)器建立短鏈接伶丐,實時更新玩家數(shù)據(jù),游戲數(shù)據(jù)疯特。
3 基于u3d引擎綁定方式:如photon服務(wù)器哗魂,類似于云服務(wù)類型,這種方式比較麻煩漓雅,貌似有些提供商的服務(wù)器在中國還沒有录别,需要連接韓國服務(wù)器邻吞,需要花錢買這種服務(wù)器的管理组题,靈活性不是很高,使用度不高抱冷。