女人被躁到高潮嗷嗷叫游戏,久久久久亚洲av成人人电影,久久久精品人妻一区二区三区四,久久久久无码精品国产app,免费人成视频在线播放

留求藝—您的留學(xué)規(guī)劃師

問(wèn)游戲引擎怎么開發(fā)

265次

問(wèn)題描述:

游戲引擎怎么開發(fā)急求答案,幫忙回答下

最佳答案

推薦答案

嗯嗯,游戲引擎發(fā)展到今天,已經(jīng)是一個(gè)產(chǎn)業(yè)化需求比較泛化的軟件體系。

如果細(xì)分,按不同的細(xì)分維度會(huì)有很多不同的劃分,比如按功能分可以分為物理引擎,渲染引擎,腳本引擎等,按平臺(tái)分可以分為PC游戲引擎,HTML5游戲引擎,移動(dòng)端游戲引擎等,按渲染類別分2D引擎,3D引擎等。再比如對(duì)于網(wǎng)游,又分客戶端引擎和服務(wù)器引擎;服務(wù)器引擎的架構(gòu)游戲類型、負(fù)載需求息息相關(guān),架構(gòu)本身和技術(shù)基礎(chǔ)組件選型(操作系統(tǒng)、開發(fā)語(yǔ)言、網(wǎng)絡(luò)庫(kù)、數(shù)據(jù)庫(kù)、運(yùn)維工具、運(yùn)營(yíng)后臺(tái)等)相關(guān)聯(lián),比較靈活。按問(wèn)題要求,猜測(cè)樓主問(wèn)的是通用跨平臺(tái)客戶端引擎,參考對(duì)象是Unity,Unreal,CocosCreator等。先提取游戲引擎典型的核心功能如下:渲染:實(shí)現(xiàn)畫面的展示物理:實(shí)現(xiàn)物理世界的抽象和表現(xiàn)音頻:實(shí)現(xiàn)聲音的播放處理網(wǎng)絡(luò):實(shí)現(xiàn)聯(lián)網(wǎng)功能游戲編程接口:講游戲引擎能夠提供的接口以API形式暴露給開發(fā)者配套的集成開發(fā)環(huán)境(IDE):實(shí)現(xiàn)可視化場(chǎng)景編輯、組織,可視化物理編輯,可視化UI布局,資源的使用等調(diào)試功能:提供便捷的方式以便開發(fā)者對(duì)游戲功能進(jìn)行測(cè)試和debug,優(yōu)化性能。打包發(fā)布功能:生成最終的游戲的exe,app,apk等等可執(zhí)行(可運(yùn)行)文件插件擴(kuò)展功能:提供給高級(jí)開發(fā)者的對(duì)引擎自身功能增強(qiáng)的功能接口其它功能:如Unity有service,可以集成平臺(tái)數(shù)據(jù)統(tǒng)計(jì)、自身的視頻廣告等功能。然后逐一略敘實(shí)現(xiàn)方式,強(qiáng)調(diào)一下,最好參照業(yè)內(nèi)的經(jīng)過(guò)廣泛驗(yàn)證的引擎去了解,例如Unity;如果想知道更多細(xì)節(jié),可以先使用一下主流引擎。

1. 渲染:為了跨平臺(tái),一般會(huì)選用跨平臺(tái)的圖形標(biāo)準(zhǔn)庫(kù)底層如OpenGL,基于底層庫(kù)再構(gòu)建上層渲染框架,如精靈(Sprite),GUI,3D模型的渲染,shader擴(kuò)展等。

2. 物理:物理引擎對(duì)運(yùn)算性能要求比較高,而且底層功能的測(cè)試需要耗費(fèi)大量精力,所以通常采用成熟的物理引擎,例如Havok,PhysX, Bullet, cannon.js等。

3. 音頻:通常會(huì)采用業(yè)內(nèi)成熟方案,如開源的OpenAL、FMOD、HTML5平臺(tái)自身的Audio功能等。一般來(lái)說(shuō),非音樂(lè)類游戲?qū)σ纛l功能的需求相對(duì)不會(huì)太復(fù)雜,主要是靠專業(yè)軟件提供音效文件(mp3,wma等),游戲中解析因小文件,處理聲音播放,音量大小調(diào)整等。

4. 網(wǎng)絡(luò):提供聯(lián)網(wǎng)的功能,按需提供TCP,UDP,HTTP等協(xié)議的包裝好的易用的接口。如果為了方便開發(fā),可以處理好客戶端和服務(wù)器通信的連接處理,錯(cuò)誤提示,協(xié)議的幀格式,序列化、反序列化方式,可以在此之上提供進(jìn)一步的規(guī)范,例如采用Protobuf作為協(xié)議格式。

5. 游戲編程接口:這就是提供給開發(fā)者的API的組織。確定引擎提供給開發(fā)者用什么語(yǔ)言編程,怎么使用圖片、音視頻資源、3D模型等,怎么提供接口和游戲運(yùn)行時(shí)環(huán)境(電腦、手機(jī))交互等。

6. 配套的集成開發(fā)環(huán)境(IDE):易用的可視化開發(fā)工具,如拖拽布局、拖拽游戲資源的使用、代碼編輯、集成調(diào)試打包功能等。這一塊是游戲引擎開發(fā)工作量的大頭,涉及用戶(游戲開發(fā)者)密集使用的交互接口,要盡可能滿足高效、易用。一般來(lái)說(shuō)如果不是特別有能力駕馭,最好現(xiàn)成的采用跨平臺(tái)的應(yīng)用程序開發(fā)方案,比如Cocos Creator采用electron框架。

7. 調(diào)試功能:提供查看FPS,跟蹤代碼運(yùn)行,Profile,網(wǎng)絡(luò)信號(hào)模擬,分辨率模擬設(shè)置,硬件設(shè)備模擬(手機(jī))預(yù)覽游戲等。建議游戲運(yùn)行時(shí)與編輯器使用同一套或者大致一樣的渲染和資源接口(例如Unity),這樣方便降低調(diào)試和運(yùn)行結(jié)果大相徑庭的情況。

8. 打包發(fā)布功能:簡(jiǎn)單處理可以生成要打包的對(duì)應(yīng)平臺(tái)的工程,比如android平臺(tái)生成Android Studio工程,ios平臺(tái)生成xcode工程,注意資源、代碼庫(kù)的引用關(guān)系,配置文件的有效性、一致性,編譯速度等。

9. 插件擴(kuò)展功能:人力因時(shí)而窮,引擎功能不必強(qiáng)求一開始就大而全,可以將引擎整體設(shè)計(jì)為一個(gè)易擴(kuò)展、易修改的結(jié)構(gòu),提供相應(yīng)接口暴露給開發(fā)者,群策群力迭代和改進(jìn)游戲引擎。

10. 其它功能:這一塊可以根據(jù)自身引擎特點(diǎn)來(lái)進(jìn)行添加,比如現(xiàn)在主流的幾大引擎都有提供官方繼承的資源商店、數(shù)據(jù)統(tǒng)計(jì)等服務(wù)接口。真正可用的引擎的實(shí)現(xiàn)是一個(gè)系統(tǒng)而復(fù)雜的工程,有很多臟活累活需要考慮在里頭,平臺(tái)兼容性、性能、效果、易用性、魯棒性、文檔編寫……需要耗費(fèi)巨量的心力;如果是個(gè)人興趣了解,可以根據(jù)上述內(nèi)容再延伸查詢相關(guān)內(nèi)容,也歡迎隨時(shí)交流。如果是想做個(gè)娛樂(lè)引擎可以隨意玩,技術(shù)如詩(shī),越擼越癡;如果是想創(chuàng)造一個(gè)偉大的引擎,請(qǐng)收下我的膝蓋。

游戲引擎怎么開發(fā)

為你推薦

網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系方式  |  用戶協(xié)議  |  隱私政策  |  在線報(bào)名  |  網(wǎng)站地圖