最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

從零開始獨(dú)立游戲開發(fā)學(xué)習(xí)筆記(二十六)--Unity學(xué)習(xí)筆記(十二)--Unity Essential

2022-04-13 03:09 作者:oyishyi  | 我要投稿

其實(shí)本來想去學(xué)麥克的 3drpg 的,但是突然無意間點(diǎn)進(jìn)了 unity 的官方學(xué)習(xí)網(wǎng)站?Unity learn。

之前我一直很不喜歡這種,就是把幾個(gè)視頻連在一起的路徑形式,因?yàn)槊髅骺梢宰鲆粋€(gè)播放列表,非要把這個(gè)做成路徑很傻。(絕不是我聽力太差和網(wǎng)絡(luò)差的原因)

但是萬萬沒想到, unity learn 的路徑居然是文章的形式,確實(shí)是我過于刻板印象了。既然如此,那官方出的教程必須得看的。

看啊,這令人安心的文章形式,比視頻更方便查閱,也更容易把知識(shí)點(diǎn)講透:

這篇文章便是關(guān)于其中的新手路徑?Unity Essential。講了很多原理和 unity 是什么。我認(rèn)為了解這些基礎(chǔ)原理相當(dāng)有用。

1. real-time creation

第一節(jié)叫做 real-time creation,那么什么是 real-time 呢。當(dāng)然喜歡玩游戲的大家肯定不陌生,這個(gè)名詞實(shí)在是太熟悉了。但如若不是進(jìn)入游戲行業(yè),很少有人會(huì)深入探究其代表的含義?;蛘哒f,嘗試從另一個(gè)視角去看待 real-time。

1.1 什么是 real-time?

就像所有富有教養(yǎng)的教程一樣,這個(gè)教程也喜歡上來就拋出“什么是xxx”這種句式。

所謂 real-time 就是能夠快速地在屏幕上渲染畫面,最好的 real-time 理應(yīng)讓人無延遲感地和畫面互動(dòng)。Unity 致力于在兩個(gè)方面實(shí)現(xiàn) real-time:制作者使用 unity 制作游戲的時(shí)候,以及玩家游玩用 unity 制作的項(xiàng)目的時(shí)候。

在過去,電腦性能不夠強(qiáng)大,一個(gè)畫面就要渲染很久。因此每次改動(dòng)都要等很久才知道效果,影響開發(fā)效率。同時(shí)在商業(yè)游戲中,一個(gè)新點(diǎn)子要花很久時(shí)間去實(shí)現(xiàn)和驗(yàn)證,因此也不容易被采納,因?yàn)橛?ddl。

這種渲染叫做 offline rendering,cg 和電影等媒體中使用比較常見,因?yàn)闆]有交互性,渲染的圖片不會(huì)改動(dòng)。real-time rendering 則用于 video game,早期的 real-time rendering 通常會(huì)犧牲畫質(zhì),動(dòng)畫效果,特效等等來維持實(shí)時(shí)性,隨著電腦性能的提升,實(shí)時(shí)性的效果也逐漸提升起來。目前 offline 和 real-time 的區(qū)別正在逐漸減小。

1.2 什么是 Unity?

Unity 最初是作為游戲引擎開發(fā)的,之后逐漸變成其他行業(yè)的生產(chǎn)工具。但是其主要目的仍然是游戲引擎,因此我們就從游戲引擎說起。

1.2.1 什么是游戲引擎?

簡單來說,游戲引擎就是為了讓你不用從零開始做游戲,讓你更關(guān)注游戲內(nèi)容創(chuàng)作的一個(gè)制作游戲的工具(怎么感覺開始嘲諷我的文章標(biāo)題了)。假如腳本,3d模型,聲音,美術(shù)是原材料的話,游戲引擎就是那口大鍋。

1.2.2 你在游戲引擎里干什么?

創(chuàng)作者在游戲引擎里創(chuàng)建出玩家將要體驗(yàn)的所有體驗(yàn)。你有了素材,有了游戲引擎,接下來就主要關(guān)注在創(chuàng)作體驗(yàn)上了。

1.2.3 你不會(huì)在游戲引擎里干什么?

你將不會(huì)在游戲引擎里創(chuàng)建 assets(素材,就是構(gòu)成游戲體驗(yàn)的所有東西,音樂,模型,腳本,動(dòng)畫等等,都是 assets)。這些 assets 會(huì)在外部工具里創(chuàng)建(也被稱為 DCC,Digital Content Creation)。許多 DCC 已經(jīng)和 Unity 集成以方便導(dǎo)入 assets。

DCC 有很多種,像是:

  • 3D DCCs:諸如 blender,3dmax,maya 這些

  • 2D DCCs:像是 PS, IL, AI 這些

  • Audio DCCs:像是 logic pro,cubase,AU 這些

  • IDEs:像是 VS,VSCode 這些

  • Real-time engine:比如 Unity 自身,Unreal 等

1.2.4 Unity Asset Store

Unity 提供了素材商城,如果不想自己用 DCC 創(chuàng)建的話,可以去商城購買或者找免費(fèi)素材來用。

1.2.5 關(guān)于 Unity 的故事

1.2.5.1 這個(gè)引擎誕生自游戲

聽起來很繞,但是實(shí)際上,使用 Unity 技術(shù)制作的第一個(gè)產(chǎn)品,并不是 Unity 引擎,而是一個(gè)游戲。

2005 年,3 名男性青年(中年?):Joachim Ante,David Helgason,和 Nicholas Francis。在 MacOs 上發(fā)布了一款叫做 GooBall 的游戲。這個(gè)游戲的發(fā)布公司名叫 Over the Edge Entertainment,發(fā)布這個(gè)游戲的時(shí)候這個(gè)公司已經(jīng)成立了一年,當(dāng)然,就是這三個(gè)人創(chuàng)建的公司。當(dāng)時(shí)他們從腳手架開始搭建了這個(gè)游戲的引擎,制作引擎的時(shí)候已經(jīng)想好之后要把這個(gè)引擎通過許可證來賣給別的開發(fā)者了。

上圖從左到右分別是 Joachim Ante,Nicholas Francis,David Helgason。
大家可以去搜一下他們現(xiàn)在長啥樣了。

1.2.5.2 Unity 誕生前大家都是怎么做游戲的

當(dāng)時(shí)每家公司都會(huì)自己制作引擎,自己使用。有些公司會(huì)做很多引擎用來滿足不同的游戲需求。由于制作引擎需要時(shí)間,很多公司中引擎的開發(fā)和游戲的制作是同時(shí)進(jìn)行的。導(dǎo)致制作游戲中途需求發(fā)生變化后,又要去改引擎,中間設(shè)計(jì)很多對接的改變。因此很耗費(fèi)時(shí)間和人力。

而對于獨(dú)立開發(fā)者和小型開發(fā)團(tuán)隊(duì)來說,引擎的開發(fā)是一項(xiàng)非常艱難的問題。除非有強(qiáng)大的編程能力,不然就要像其他公司購買昂貴的引擎許可證。因此直到 2005 年左右之前,獨(dú)立游戲非常少,而其中能做到商業(yè)成功的就更少了。

1.2.5.3 Unity 引擎的誕生

GooBall 并沒有成功。但是 Unity engine 成功了。3 位創(chuàng)始人在蘋果開發(fā)者大會(huì)上首次亮相了這款引擎,一開始并沒有很受關(guān)注,但是隨后,獨(dú)立開發(fā)者開始關(guān)注到這款引擎。

2005 年左右,Unity Engine 迅速席卷市場,當(dāng)時(shí)的游戲行業(yè)也是風(fēng)起云涌,Unity 在 “獨(dú)立開發(fā)者革命” 中占了一個(gè)非常重要的位置。Unity 成功的因素有三個(gè):①可信賴的數(shù)字版游戲模型的引入(意思是無實(shí)體純數(shù)字版游戲的引入)②主要關(guān)注獨(dú)立開發(fā)者③對早期智能手機(jī)的支持。

我只能說,這三點(diǎn)完美詮釋了目前 Unity 的現(xiàn)狀??梢哉f是不忘初心嗎。當(dāng)然,第一點(diǎn)在 Unreal 的資本投入下顯然是完全被打敗了,不過好歹通過模仿還是趕上了一些。第二點(diǎn)和第三點(diǎn)表明了 Unity 如何能夠堅(jiān)持住目前的市場。如果能夠堅(jiān)守本心,我覺得 Unity 還可以保有一席之地的,嘿嘿。

Unity 第一次上市的時(shí)候,高速網(wǎng)絡(luò)正在興起,這使得發(fā)布數(shù)字版的游戲第一次成為一個(gè)可選項(xiàng)。在此之前,獨(dú)立開發(fā)者只有很少的渠道去發(fā)布游戲,游戲基本上都是實(shí)體店里販賣,而販賣主要又由發(fā)行商安排。

高度網(wǎng)絡(luò)發(fā)展后,用戶終于可以快速在網(wǎng)上下載游戲了,網(wǎng)上也有很多服務(wù)用于販賣游戲,又了這些幫助,獨(dú)立開發(fā)者終于可以安心開發(fā)游戲了。自此,獨(dú)立開發(fā)者開始步入消費(fèi)者的視野。

Unity 進(jìn)入市場的時(shí)候,并不是第一個(gè)賣許可證的引擎(這個(gè)之前也提到過),但是其價(jià)格是最低的(現(xiàn)在不是了),易于獨(dú)立開發(fā)者接受。此外,Unity 也花了很多心思在優(yōu)化開發(fā)者的開發(fā)體驗(yàn)上,這是當(dāng)時(shí)其他引擎忽視的一點(diǎn)。這兩點(diǎn)也是讓 Unity 在獨(dú)立游戲開發(fā)市場上大放光彩的原因。

當(dāng)蘋果把 app store 開放給第三方的時(shí)候,Unity 也是第一批支持者。這讓其奠定了手機(jī)游戲中的地位。當(dāng)時(shí)超過一半以上的 apple store 里的游戲都是 Unity 制作的。如今在安卓和蘋果市場上也是。

開發(fā)一個(gè)手機(jī)平臺(tái)獨(dú)立游戲是不是就能吃滿 BUFF 了(不是)

1.2.6 在此之后

Unity 現(xiàn)在已經(jīng)逐漸不再只是一個(gè) game engine 了,而是 real-time engine。除了游戲也開始包含其他行業(yè)的功能。

1.3 Unity 可以干啥?

剛剛才說到 Unity 已經(jīng)不只是 game engine 了,那現(xiàn)在就看看還有哪些行業(yè)用到 Unity 吧。

  • 游戲:不用說

  • 媒體娛樂:迪士尼就用過,

  • 工程設(shè)計(jì)。

  • 自動(dòng)駕駛。

  • 其他一些需要交互的應(yīng)用。

好的,別說了。Unreal 5 都已經(jīng)發(fā)布了,這些大部分都用不上你了。

下一章是請一些 Unity 的創(chuàng)作者來吹 Unity,我就不放了。 之后是一些簡單的 unity 操作,也不說了。直接跳到最后一章。

2. 游戲工業(yè)

2.1 標(biāo)準(zhǔn)游戲開發(fā)流程

我們經(jīng)常會(huì)說到什么開發(fā)啊,prototype啊,我們也都知道這些是工業(yè)流程的一環(huán),但是具體是個(gè)什么樣呢?其實(shí)也說不大清楚,這下就來好好學(xué)習(xí)一下: 總共流程分為 4 大部分:

  1. pre-production

  2. production

  3. post-production

  4. operations

2.1.1 pre-production

  1. 首先,工作室產(chǎn)出一個(gè)設(shè)計(jì)文檔。這個(gè)文檔是一個(gè)指導(dǎo)創(chuàng)意方向的來源。如果是電影,那就是腳本和分鏡,關(guān)于內(nèi)容,外觀,感覺等。如果是游戲,那就是游戲設(shè)計(jì)文檔,關(guān)于故事,gameplay,藝術(shù)方向,目標(biāo)群體,可訪問性等。

  2. pre-production 的一個(gè)重要目的是為了早點(diǎn)開始設(shè)計(jì)迭代,加入新 idea。因?yàn)樵缙诟姆较蚣尤胄?idea 比較容易。

  3. pre-production 結(jié)束后,會(huì)有一個(gè)產(chǎn)出給 stakeholder 或者 investor 看。如果通過那就可以進(jìn)行到 production 階段了。

2.1.2 production

production 是產(chǎn)品開發(fā)中最長也是最難的階段。這個(gè)階段是所有人一起做出一個(gè)真正的產(chǎn)品出來,也就是一般玩家想到游戲開發(fā)的時(shí)候,腦海里蹦出的畫面。所有人嘗試把設(shè)計(jì)文檔中的東西實(shí)現(xiàn)出來。

這個(gè)階段往往會(huì)設(shè)計(jì)到很多種職業(yè)如下圖:

其中,有一個(gè)?producer?全程盯著整個(gè)項(xiàng)目的開發(fā)進(jìn)度是很重要的。同時(shí) producer 還要避免?feature creep,防止加上一堆新奇的 feature 和設(shè)計(jì)文檔逐漸偏離。

production 會(huì)在 deadline 之前停止。deadline 會(huì)在 pre-production 的時(shí)候被定好。

2.1.3 post-production

post-production 指游戲技術(shù)上完成了,但是還沒有發(fā)行之前的階段。

這個(gè)階段,項(xiàng)目會(huì)被評(píng)估,修改,潤色,修復(fù)等等。一般包含?alpha testing?和?beta testing。其中 alpha 測試往往是在內(nèi)部進(jìn)行的,用于確定一些問題和修復(fù)。而 beta 測試則會(huì)找一些潛在用戶來測試。兩者都會(huì)產(chǎn)出一堆 bug 列表和新的需求 feature 列表。

post-production 階段會(huì)在產(chǎn)品發(fā)行后結(jié)束。

2.1.4 operations

產(chǎn)品發(fā)行后就進(jìn)入了 operation 階段,所有為了讓產(chǎn)品繼續(xù)維持的行為都屬于這個(gè)階段。諸如銷售,分析,維護(hù)等等。這個(gè)階段在不同行業(yè)做的事差距很大。

以 video game 為例,一個(gè) opertion 階段可能包含以下部分:

  1. Support:處理來自用戶和 partner 的各種問題,需求等。

  2. Monetization:內(nèi)購,內(nèi)置廣告等

  3. Analytics:分析用戶行為以確定游戲功能等是否需要修改。

  4. Server Maintainance:維護(hù)服務(wù)器。

  5. Website Maintainance:維護(hù)游戲相關(guān)網(wǎng)站。

  6. Business and Sales:提升游戲的銷售額。

2.1.5 Unity 在這 4 個(gè)階段中的作用

實(shí)際上 Unity 提供了很多功能,在所有階段中都能起到作用。比如說就提供了內(nèi)購的功能,分析的功能以方便 operations 階段。

2.2 游戲行業(yè)標(biāo)準(zhǔn)工作崗位

我們經(jīng)常聽到諸如程序員,美術(shù),制作人這種稱呼。但是具體都有哪些。分工是如何的,其實(shí)也不甚了解。那現(xiàn)在就來看一下。

從大的層面來看,可以分為兩種類型:①藝術(shù)設(shè)計(jì)類②程序類。

2.2.1 藝術(shù)設(shè)計(jì)類

一些比較常見的藝術(shù)設(shè)計(jì)類有這么些工作崗位:

  1. 3D 藝術(shù)家:創(chuàng)建 3D 物體和背景,優(yōu)化圖形性能。

  2. 2D 藝術(shù)家:同上,更改成 2D。

  3. 燈光藝術(shù)家:開發(fā)優(yōu)化燈光特效,還包括一些后處理諸如景深,顏色校正等

  4. 音頻設(shè)計(jì)師:創(chuàng)建和實(shí)現(xiàn)音效,旁白,音樂等聲音

  5. 人物藝術(shù)家:給人物建模,包括一些素材諸如頭發(fā),衣服,飾品等

  6. 技術(shù)藝術(shù)家:也就是我們常說的 TA,或者技美。和藝術(shù)家以及程序員都要打交道,將他們的作品統(tǒng)合為最終產(chǎn)品。

  7. 視覺特效藝術(shù)家:創(chuàng)造好看的視覺特效,諸如巖漿,火焰之類的。實(shí)現(xiàn)物理特性,諸如碰撞,掉落等。

  8. 動(dòng)畫師:創(chuàng)造并優(yōu)化所有物體和人物的動(dòng)畫。確保燈光和視覺特效在動(dòng)畫的時(shí)候表現(xiàn)良好。

  9. 游戲/關(guān)卡設(shè)計(jì)師:設(shè)計(jì) gameplay;設(shè)計(jì)游玩測試和反饋;和藝術(shù)家程序員以及測試者討論以獲得游戲性的反饋。

2.2.2 程序類

一些比較常見的程序類有這么些工作崗位:

  1. 質(zhì)量保證:也就是 QA,主要是測試 bug,寫報(bào)告。寫一些測試案例。

  2. 程序分析:根據(jù)設(shè)計(jì)文檔寫代碼,修改應(yīng)用以維護(hù)功能

  3. C# 開發(fā):開發(fā)新功能和應(yīng)用;管理產(chǎn)品發(fā)布。

  4. Unity 開發(fā):用 Unity 開發(fā)新功能和應(yīng)用

  5. 研究工程師:設(shè)計(jì)實(shí)現(xiàn)研究一些前沿算法

  6. 軟件開發(fā):設(shè)計(jì),開發(fā),測試新功能和工具

  7. VR/AR 開發(fā)。

  8. 手機(jī)開發(fā):開發(fā)手機(jī)端功能和應(yīng)用;了解最新手機(jī)端技術(shù)

  9. UI 程序員:編寫 UI 代碼以滿足設(shè)計(jì)文檔;將 UI 和功能整合在一起。

  10. gameplay 程序員:分析設(shè)計(jì)文檔;開發(fā) gameplay 相關(guān)系統(tǒng)。


從零開始獨(dú)立游戲開發(fā)學(xué)習(xí)筆記(二十六)--Unity學(xué)習(xí)筆記(十二)--Unity Essential的評(píng)論 (共 條)

分享到微博請遵守國家法律
思茅市| 永寿县| 赤峰市| 普宁市| 曲阳县| 桃园县| 昆山市| 卢龙县| 剑川县| 聂拉木县| 米易县| 大关县| 思茅市| 南岸区| 通山县| 兴业县| 香格里拉县| 长宁区| 扶风县| 柳江县| 凤山市| 武夷山市| 卢湾区| 桐城市| 托里县| 石屏县| 邢台县| 易门县| 深圳市| 册亨县| 临澧县| 高安市| 岳池县| 孝义市| 潜山县| 周口市| 哈巴河县| 台东市| 黑龙江省| 平安县| 巩留县|