2 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
對(duì)于大部分的程序員語(yǔ)言簡(jiǎn)直就是宗教信仰。
Photon使用C#開發(fā),當(dāng)然使用者也是用C#進(jìn)行各類游戲功能開發(fā)。前后端同種語(yǔ)言,這對(duì)使用Unity3d游戲開發(fā)也有很大的好處。
KBEngine使用C++開發(fā),邏輯開發(fā)是用python,也是很不錯(cuò)很快速的。
開源與收費(fèi)情況
Photon是Exit Games公司的產(chǎn)品,不開源,有好多種收費(fèi)模式,官網(wǎng)上可以看到。開發(fā)階段可以用免費(fèi)的license,后期可以看流量用戶活躍度來(lái)選擇付費(fèi)模式。后續(xù)的支持,似乎是免費(fèi)的,你可以選擇郵件或是到論壇發(fā)帖求助,當(dāng)然是E文。
KBEngine是國(guó)人開發(fā),開源免費(fèi),但從官網(wǎng)上并沒(méi)有看到商業(yè)使用的案例。有中文論壇,你可以在論壇上向開發(fā)者求助。
雖然兩者的模式不同,但作為一個(gè)Unity3d游戲開發(fā)者,我們最希望的其實(shí)是把游戲引擎當(dāng)作一個(gè)安全穩(wěn)定的黑箱。
操作系統(tǒng)
之前說(shuō)了Photon使用C#開發(fā)很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以開發(fā)環(huán)境和生產(chǎn)環(huán)境最好都是windows。
雖然在跨平臺(tái)上有mono,在服務(wù)器代碼部分是系統(tǒng)無(wú)關(guān)的,但是不管你信不信,我是不信它的一套窗體工具也能運(yùn)行在Linux下。反正,官網(wǎng)說(shuō)法是,開發(fā)和生產(chǎn)環(huán)境都是用windows。
KBEngine建議開發(fā)環(huán)境選擇Windows,生產(chǎn)環(huán)境選擇linux。畢竟你總不希望開一組服務(wù)器打開9個(gè)Console窗體,一不小心把哪個(gè)點(diǎn)X了吧~
協(xié)議
Photon有自己的序列化反序列化方式,你也可以使用protobuf這類的來(lái)做應(yīng)用層傳輸協(xié)議。
KBEngine在這方面表示不支持自定義協(xié)議,它幫你選擇了有效的方法來(lái)處理,如果你習(xí)慣了他規(guī)定的方式,會(huì)喜歡上的。
看法
在功能上,我毫無(wú)疑問(wèn)地更喜歡KBEngine,腳本化和自動(dòng)持久化是極富魅力的功能。而Photon幾乎沒(méi)做這方面的功能,可能和老外的觀念有關(guān)系。就目前我對(duì)兩者功能的理解看來(lái),Photon其實(shí)是個(gè)和SuperSocket差不多的東西,而SS是作為輕量級(jí)服務(wù)器框架存在的,Photon卻是說(shuō)自己是Unity3d游戲引擎,除去提供的MMO示例代碼(未解讀),沒(méi)看到什么游戲引擎的魅力。

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
這兩個(gè)相比,gameObject好理解一點(diǎn),就是你腳本掛著的那個(gè)物體。這個(gè)實(shí)例化過(guò)程是Unity幫你實(shí)現(xiàn)的,不用在寫代碼實(shí)例化。this.gameObject默認(rèn)函數(shù),腳本一創(chuàng)建直接就get到了。
例如,有一個(gè)A物體。你給它掛載一個(gè)腳本里寫this.gameObject。那就等于是直接獲?。▽?shí)例化)A這個(gè)物體了,你直接可以引用它下面掛載的屬性。
GameObject不是對(duì)象,通常需要獲取一個(gè)對(duì)象,就像你定義一個(gè)public GameObject A;
那么屬性里就會(huì)出現(xiàn)一個(gè)可托選的框,那就是Unity告訴你,你定義的這個(gè)物體是哪個(gè)物體要你選擇,無(wú)論你拖拽也好,腳本里獲取也好,都是要給A賦予對(duì)象的。
這是一個(gè)強(qiáng)大的引擎,里面很多函數(shù),都可以簡(jiǎn)化,this.gameObject就是簡(jiǎn)化實(shí)例化的一個(gè)函數(shù),希望能給你帶來(lái)幫助~
- 2 回答
- 0 關(guān)注
- 1323 瀏覽
添加回答
舉報(bào)