一级片www_中文在线二区_HD中文字幕在线播放,三级视频日韩,扒开老师双腿猛进入喷水免费观看 ,怡红院直播

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

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

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

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

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

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

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

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

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

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

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

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

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

不過(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)贊或留言。