国产91精品久久久久久久网曝门_国产无遮挡又黄又爽对白视频|HD中文字幕在线播放,男男黄文小说校园,肉大捧一出免费视频,女同高潮视频

Metaverse系列2:3D引擎是什么鬼?

今天聊聊BIGANT中的G。 這里的G是Game,也就是3D游戲引擎的意思,我們簡(jiǎn)稱為3D引擎。

優(yōu)锘的同學(xué)都聽過3D引擎,但很多人可能并不清楚這到底什么?如果你問李鑒、井剛,他們會(huì)跟你叨叨一些聽不太懂的話,比如:

3D引擎封裝了3D實(shí)時(shí)交互和渲染能力,包括圖像渲染、光影追蹤、法線烘培、骨骼模擬、射線碰撞、點(diǎn)面控制…通過渲染接口和底層顯卡交互…

就像念經(jīng)一樣,不知你什么感覺,反正我聽完后有點(diǎn)尷尬,我特么連渲染都不知道是啥,你跟我說這些?

3D引擎到底是啥?有啥用?是怎么發(fā)展起來的?我們的T3D和ThingJS又是個(gè)啥?和業(yè)界3D引擎有啥關(guān)系?為了搞清楚這些問題,我肝了一個(gè)禮拜,嘗試用白話給大家解釋一下。

聽到"引擎"兩個(gè)字,你可能首先會(huì)想到汽車引擎,這是汽車的核心部件,提供動(dòng)力的,如果沒有引擎,那么汽車就只能是一個(gè)模型,趴窩里不能動(dòng)。3D模型也一樣。你用3DMax軟件制作了一個(gè)非常逼真、精美的3D模型,還有光影和動(dòng)畫效果,甚至每一根發(fā)絲都是那么真實(shí)。但它是“死”的,你們不能互動(dòng),這就很差些意思。
image.png
而引擎就是給3D模型賦予了人機(jī)交互的能力,讓模型“活”起來。你可以在滿是廢墟的街道上奔跑,尋找補(bǔ)給,街道兩邊的建筑和光影效果都是“實(shí)時(shí)渲染”出來的,你可以利用3D引擎“編排劇情”,通過和游戲人物(NPC)互動(dòng)來觸發(fā)不同的分支任務(wù)。有些任務(wù)會(huì)引發(fā)激烈的槍戰(zhàn),你可以增加一大堆跑酷動(dòng)作,比如“下蹲”、“奔跑”、“跳躍”、“飛翔”、“拾取”、“射擊”、“爆炸”、“躲避”等等,而且這些能力并不需要開發(fā)大量代碼,3D引擎都幫你實(shí)現(xiàn)了。
src=http___04imgmini.eastday.com_mobile_20200227_20200227045258_f38c76b7a1835286f9b3f33df1c0c743_1.gif&refer=http___04imgmini.eastday.gif

這就是3D引擎的能力,它給3D模型賦予了“交互方法、物理定律、劇情腳本、AI智能”,讓你不需要編寫很多代碼,就能讓3D模型在“體”、“相”、“用”三方面逼近現(xiàn)實(shí)世界真實(shí)的人和物,讓人感覺模型“活”了。而且與汽車引擎不同,汽車沒引擎不能跑,但游戲沒引擎是可以運(yùn)行的。游戲引擎其實(shí)更像汽車工廠,本質(zhì)上是一種開發(fā)游戲的軟件。

其實(shí)在三十多年前,電子游戲出現(xiàn)的早期,沒有游戲引擎也能開發(fā)出好游戲,我們熟悉的瑪麗兄弟、魂斗羅,都是程序員用簡(jiǎn)陋的代碼編輯器,從零開始一行一行代碼寫出來的。
src=http___5b0988e595225.cdn.sohucs.com_images_20171220_da3ee6a8be9f466d9aa043118368d573.gif&refer=http___5b0988e595225.cdn.sohucs.gif
那時(shí),用戶的期望很低,游戲的玩法也是很簡(jiǎn)單,所以允許使用這種作坊式的粗糙方法。但后來游戲市場(chǎng)規(guī)模越來越大,用戶要求越來越高,游戲玩法也越來越復(fù)雜,這就導(dǎo)致游戲的代碼量變得非常巨大,程序員們發(fā)現(xiàn)每次做游戲都一行行敲代碼也TM太累了,能不能設(shè)計(jì)一套代碼庫(kù),把最基礎(chǔ)、最常用的功能都封裝好,這樣下次做新游戲就不用重頭再來了。一開始,這種想法只是在一些游戲公司中的一小撮程序員中做直覺性的嘗試,程序員在開發(fā)某個(gè)功能時(shí)多留一個(gè)心眼,把未來可能重用的部分單獨(dú)剝離出來。這種嘗試就像荒野中微微閃現(xiàn)的星火,但這些零散的可重復(fù)利用的代碼塊還遠(yuǎn)遠(yuǎn)稱不上"引擎"。

終于,1993年一個(gè)改變時(shí)代的大神出現(xiàn)了,他就是約翰·卡馬克,ID Software的創(chuàng)始人。他設(shè)計(jì)了人類第一款3D引擎,帶領(lǐng)團(tuán)隊(duì)在短短幾年內(nèi)就創(chuàng)造了《DOOM》、《德軍總部》、《雷神之錘》、《狂怒》等如雷貫耳的游戲大作。今天,卡馬克被譽(yù)為FPS之父、3D游戲之父。
image.png

卡馬克和其他程序員不同(其他程序員都是先做再說,邊做邊想),咱卡哥不一樣,他在動(dòng)手開發(fā)游戲之前就先設(shè)計(jì)了一整套基礎(chǔ)代碼的框架和開發(fā)規(guī)范,并將所有的基礎(chǔ)代碼寫好,還留下了方便調(diào)用的接口,比如圖像渲染接口、3D加速接口、軌跡控制接口等,這樣其他程序員在開發(fā)游戲時(shí)就可以像拼樂高積木一樣,快速搭建出各種游戲應(yīng)用。這樣就使得游戲的規(guī)劃更合理,功能更穩(wěn)定,并且游戲開發(fā)者只需要將精力聚焦游戲規(guī)則本身,提升了游戲開發(fā)效率。而這個(gè)基礎(chǔ)代碼庫(kù)就是最早的3D游戲引擎。

卡馬克開發(fā)的世界上第一款3D游戲《德軍總部3D》讓人們看到了一個(gè)全新的游戲世界、感受到極為震撼到游戲體驗(yàn)。我們看看下圖感受一下~
image.png

你被震撼了嘛?如果沒有,想想這可是三十年前,那時(shí)我還在玩土,都沒見過電腦啥樣。這款游戲一出現(xiàn),玩家驚呼原來游戲還能這么玩!一下子引爆了大量的3D游戲需求。

后來有一家叫“烏鴉”的游戲開發(fā)公司突發(fā)奇想,跑來找卡馬克,說你能不能把這個(gè)游戲引擎授權(quán)給我?我給你錢。卡馬克說,行。于是烏鴉公司就用這款引擎快速開發(fā)了不少暢銷游戲。這一出就把其他游戲廠商的思路也打開了,大家發(fā)現(xiàn)原來還有3D引擎這么個(gè)東西,還可以直接拿來用啊!于是游戲行業(yè)就誕生了一個(gè)新的細(xì)分市場(chǎng):3D游戲引擎。所以,這幾乎是卡馬克憑借一人之力開創(chuàng)的市場(chǎng),如今這個(gè)市場(chǎng)已經(jīng)達(dá)到萬(wàn)億的規(guī)模。

不過有錢的地方就有江湖。在卡馬克和他的3D游戲如日中天之時(shí),他的競(jìng)爭(zhēng)對(duì)手也在慢慢浮現(xiàn)。此后的三十年是一場(chǎng)漫長(zhǎng)的游戲引擎戰(zhàn)爭(zhēng),數(shù)十款游戲引擎在市場(chǎng)中激烈搏殺,直到今天還未塵埃落定,但兩大巨頭已經(jīng)緩緩隱現(xiàn)。大家可以看一段下面的小視頻,隔著屏幕都能感受引擎江湖的血雨腥風(fēng)。

今天的3D引擎已遠(yuǎn)遠(yuǎn)超出最初的形態(tài),除了可復(fù)用的代碼庫(kù)(稱為引擎內(nèi)核),還逐步演進(jìn)出一整套工具平臺(tái)。后續(xù)我們聊聊UE引擎(Unreal)的史詩(shī)成長(zhǎng)故事,歡迎大家點(diǎn)贊或留言。