久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何自學游戲引擎的開發(fā),? |

 pgl147258 2014-07-29

【張靜vinjn的回答(29票)】:

沒有必要刻意的區(qū)分游戲引擎和游戲,,對于程序員而言,游戲開發(fā)得多了,,自然會把可重用的部分提取成 library,。而這 library 逐漸豐富起來,便成了引擎,。

如果你一開始就抱著我想做的是引擎,,而不是游戲的態(tài)度,那這個事情就有點扭曲了,。如果你沒開發(fā)過游戲,,你怎么知道游戲引擎里需要哪些組件呢?是吧,。

所以想開發(fā)引擎,,最靠譜的方法就是,去開發(fā)游戲,,各種類型的游戲,。俄羅斯方塊、2048,、第一人稱射擊等等,,0D、1D,、2D,、3D、4D 都需要試試,。

以下是嘩眾取寵的跑題時間(居然被一名學生批評嘩眾取寵,,不開心呀)

0D 就是說沒有任何畫面 RGB(0, 0, 0),可以用麥克風來控制,、再用音樂來反饋,。

1D 就是只有一維,,比如一個點在一條線上移動。

2D,、3D 大家熟悉,。

4D 是 3D 配上奇怪的電子設備,比如 Kinect,、Arduino,、Oculus Rift、Vibrator(咳咳)等,。

【知乎用戶的回答(8票)】:

我們公司引擎部門新員工,,一般會有兩個入門練習:

一是只用類似DrawPixel的函數(shù),實現(xiàn)一個軟件光柵化,。

二是使用自家引擎做一個完整游戲,。可以比較簡單,,但必須完整,。

一個去鵝廠的小伙伴也做過類似跑酷類手游作為練手。

所以我覺得,,從學習的角度,,其實兩個項目一起做,并不沖突,。

做一個自己的引擎出來,,滿足技術(shù)好奇心,也能試驗想法,;

用開源引擎做一個類型的游戲,,能了解組成部分和主要需求。

樓上有好多關(guān)于做游戲還是做引擎的討論,,都是有道理的,。

@張靜vinjn 等所說,如果沒做過一個完整的游戲,,直接只做引擎,學習的效率和引擎的質(zhì)量都不會太高,。

但在很多人心里,,會把引擎開發(fā)的這個工作神話。這種時候自己做一個引擎,,對提高自己的信心會有幫助,。大部分貶低引擎開發(fā)工作的人,至少都是有能擼一個的底氣的(且不說質(zhì)量),。

-------------------------------------------------------------------------------------------------------------

所以對兩個方面,,我都推薦一些自己感覺不錯的資料:

游戲邏輯方面:推薦一個網(wǎng)站,, Game Programming Patterns,作者把自己的書放github上,,供讀者提意見,。

引擎架構(gòu)方面:Game Engine Architecture,這本得看中文翻譯的,。

圖形引擎方面,,主要是算法和API,引擎架構(gòu)抄一套別人的,。

圖形基礎算法書籍:在lz的基礎上,,推薦一個3D Game Engine Design,里面的3D算法和原理講解很詳細,,可惜有點老,。

高級圖形技術(shù):除了Real Time Rendering 3和GPU Pro系列以外,可以跟KlayGE和OpenGPU,。這個方向量力而行,,國內(nèi)現(xiàn)在的行情是轉(zhuǎn)手游的多,一些復雜的效果研究太深入也可能發(fā)揮不了,。

update:

軟件光柵化可以簡單理解為,,只給你一個畫點的函數(shù),你需要用C++實現(xiàn)一個三維物體顯示的過程,。一般這個工作是由Direct3D/OpenGL的驅(qū)動實現(xiàn)來做的,。

這個工作可以做的很難,也可以很簡單,。我們公司貌似所有客戶端程序都會做這個,,但要求跟老大有關(guān)。

最基本就是實現(xiàn)一個固定管線,,包括頂點坐標的矩陣變化,,畫線,三角形填充光柵化算法,,裁剪,,Gouround光照,紋理坐標插值,,ZBuffer等等,。

要做好點,就可以把一個引擎Renderer部分的借口都實現(xiàn)了,,用C++寫個VS/PS,,跟D3D/OpenGL平級。

【劉然的回答(6票)】:

一點一點回答

題主問的圖形引擎開發(fā):

剛好寫過一個,,這個你一開始可以參考ogre看看,,你需要主要研究的內(nèi)容主要包括但不限于以下部分

  1. 場景管理(關(guān)鍵中的關(guān)鍵)

  2. 渲染流水線結(jié)構(gòu)
  3. Shader
  4. 場景Culling算法
  5. 下層圖形接口的抽象

最好的學習方法還是從利用現(xiàn)有引擎開發(fā)游戲做起,,和其他答案說的一樣,游戲引擎本來就是抽象出來的一個東西,,沒寫過游戲就寫引擎,,還是算了。

涉及游戲引擎開發(fā)的公司有哪些,?

一句話,,如果你想做研發(fā),建議還是來我司,。

這些公司對游戲引擎開發(fā)的職位要求是什么,?

  1. 招人的時候一般是研發(fā)的統(tǒng)一招,不會單獨招做引擎的,,這個是進來以后的事
  2. 一般沒有新人做引擎的情況
以及將來面試時應該如何應對,?(把自己寫的Demo給他看?)

這個說明不了什么,,研發(fā)崗位更注重的是表面上看不到的東西,,我指的架構(gòu)程序的能力。當然如果你有水平做這個,,面試的時候可以多講講,,水平高下自然能看出來。

基本就是這樣,。

【知乎用戶的回答(7票)】:

想做圖形引擎開發(fā)就問怎么學做圖形引擎開發(fā),,別跟游戲扯上關(guān)系。圖形只是游戲的一部分而已,。

覺得圖形引擎技術(shù)含量高,?AR,CV這種簡直笑蛤蛤,。

一說游戲必提3A的,,不是門外漢就是干了幾年還摸不到門道的主兒。

言歸正傳,,想學游戲引擎開發(fā),,三個步驟:

1,用現(xiàn)成的引擎寫個游戲,。

2,,自己隨便找個開源的造個輪子,把之前寫的游戲里用的第三方引擎替換掉,。

3,各種看siggraph,,隔幾天就想辦法把里面提的東西實現(xiàn)下加自己的輪子里,。

當然其中最難的是第一步,,最枯燥的是第二步,最順理成章的是第三步,。

做完這三步,,題主絕壁比去虛幻啊ce啊這種國外的引擎公司去當螺絲釘?shù)募一锊恢叩侥睦锶チ恕?/p>

【大薩比的回答(7票)】:

苦心開發(fā)游戲引擎的人很少,嘩眾取寵的回答都被頂?shù)搅饲懊妗?/p>

我雖然也不是什么專家,,但是在這里也試著給LZ一點自己學習的心得,。我假設LZ的目標是去Crytek,Epic之類一流公司做引擎開發(fā)的有志青年,。

首先推薦給LZ一個論壇,,http://www.opengpu.com

這上面有不少和LZ一樣正在學引擎開發(fā)的小伙伴。不要去gameres,,那里的東西都是過期的,,看了沒好處。

你提到的那幾本書是要看的,,沒錯,,都看。

其他需要的書知乎上蠻多人都討論過了(我覺得已經(jīng)被問爛了),,你可以看看Milo Yip在知乎上答過的問題,。clayman推薦的一些書你也可以看看,http://www.cnblogs.com/clayman/

我的個人建議是推薦LZ去學DirectX11,,實時圖形學的歷史本來就不長,,你還抓著10年前的API不放真是說不過去。

關(guān)于DEMO,,我覺得十分必要,,親自寫了才知道自己還缺什么需要學,另外寫DEMO很有成就感,。

至于招聘的情況不容樂觀,,國內(nèi)做3D引擎研發(fā)的非常少,騰訊招人,,但開出的條件都是AAA工作室的要求,,尤其是要工作經(jīng)歷的比較多。(忍不住吐槽:本來還很期待天刀,,現(xiàn)在橫看豎看都不是AAA,,糟蹋人才)

你看看其他的答主就能理解其他廠商都在做什么了。投錢搞研發(fā)不如直接做游戲掙錢,,“錢”要越快越好,。

據(jù)說國內(nèi)大批的游戲人都通過育碧走向了全世界,capcom在國內(nèi)也招人,。

順便YY一下游戲機進來了國內(nèi)也會有一定缺口,。

最后我說的都是空話,,如果你沒能力下苦功鉆研幾年。

------------------------------------------------------------------------------------------------------

7.20補充

看了回復我發(fā)現(xiàn)不少人對我的回答存在誤解,,我覺得要再碼點字,。

題主加了個PS,說主要是問圖形引擎,,即便不加,,題主問的也是圖形引擎。

正如大家都說的,,游戲引擎不過就是把游戲重用的部分提取出來,,所以研究價值不高,但是各位可以看看大型游戲公司發(fā)表的論文,,公布的技術(shù),,幾乎全是實時圖形學的研究,無論是siggraph,,GDC,。有誰見過游戲公司出席物理學會議的么?

如果題主只是在問游戲引擎的話,,也就是說圖形引擎也用中間件,,那么純粹是個組裝拼湊的熟練活,“做一個完整的游戲”更能練手,。

關(guān)于AAA,,有人一看到這個詞就像打了雞血一樣跳出來罵我,大可不必,,這個回答又不是在教你“如何混進AAA工作室”

我只是個在校的學生而已,,知乎上只會擺資歷不講實在話的人不少,我們天朝人的浮躁就在此暴露無遺,。

我不想被人說是在“裝b”,,所以貼一個自己的博客。

http://www.fangsunjian.com/

一來題主可以和我交流,,我也是從頭開始一點點自學的,。二來噴我的那些“工作經(jīng)歷x年”的人們,你們大學時代在做什么,?你們進公司當螺絲釘都是高抬了,。

另外我進的公司還真不是BAT那樣的大公司,引擎開發(fā)今年只進了我一個,。

【李洋的回答(4票)】:

自己寫引擎都是坑有木有,。。。

以前在某公司參與過自研引擎的開發(fā)(工作需要,,本身渣水平),,當然目的還是要做游戲(當時cocos2d-x才剛出來,很不成熟,,也沒啥人用)。當時我不是負責圖形部分(游戲引擎不僅僅只是渲染引擎一個模塊),,因為要配合游戲開發(fā),,所以當時的引擎特性根本定不下來。接口三天兩頭的改,,前一天編譯無誤的代碼第二天可能就因為別人某個模塊API名稱或者參數(shù)個數(shù)的變化導致編譯出錯,。更不要提各種bug了。

=========吐槽的分割線==========

好吧,,言歸正傳,。回過頭來,,感覺很多東西不經(jīng)歷一遍是很難做到完美的,。引擎也是,不寫上幾次估計都不能算入門,。初學最好的辦法就是模仿,。找?guī)讉€出名易用的引擎,看看他的整體結(jié)構(gòu)如何,,怎么劃分的模塊,。有什么特點。最好再多用用,,體會一下對方為什么這么設計,。然后思考一下對方的有什么缺點,自己如何改正,,然后試著模仿一個出來,。不過估計第一次都會痛苦嘛,以后就好了,。

你看蘋果發(fā)布的SpriteKit跟cocos2d有多像,,幾乎就是換了一個名字。cocos2d簡直成了2d引擎的代名詞,,各種模仿也由此而來,。而且cocos2d-iphone,cocos2d-x,cocos2d-js的代碼也很容易獲得,是個參考研究不錯樣例,。

3D引擎在移動端基本上一家獨大了,,不過可惜不開源,看不到實現(xiàn),不過整體思路倒是可以參考,。其實還有一些開源的3d引擎,,不過現(xiàn)在不太流行就不贅述了。真想學習的話,,Irrlicht是個不錯的東西,。而且這東西很容易編譯到移動端。

最后,,游戲引擎是一個綜合工程,,不僅僅只是圖像的堆砌,還有聲音,,網(wǎng)絡,,UI,物理等等模塊,。而且很多底層都要有堅實的高等數(shù)學和線性代數(shù)基礎,。

希望以上文字對你有用。

【AlexZhu的回答(3票)】:

基本上正如 @張靜vinjn 說的那樣,,引擎就是從游戲里來的,,所以早期的引擎就是游戲的復用部分,像QUAKE(開源),,通用引擎是很后來的事情了,。既然題豬提到了游戲引擎架構(gòu)這本書,我就拍一頁做范例加了些框框給你參考(希望沒侵權(quán)= =),。這是作者理解的游戲引擎的共通的組成部分,,上層的是游戲開發(fā)者會用到的,底層的是引擎開發(fā)商提供的,。題豬正在學習和深入的DX其實是底層的其中一個方面(試試找找,?:)——換句話來說,世界很大,,術(shù)業(yè)有專攻 :)

常用的引擎有哪些,?UE(騰訊英佩),Cocos(觸控), Unity比較多吧,。通用引擎大同小異,,學會了一個對其他也有質(zhì)的幫助(咦,我沒有在說C),。QUAKE,、OGRE等開源引擎是很好的學習/理解材料,但是對題豬在國內(nèi)找工作可能沒太大幫助,。

游戲/引擎的開發(fā)我覺得更像是拍電影,,有很多的組成部分特別是藝術(shù)的,。建議題豬把目標放在盡可能多的開發(fā)不同種類的游戲上,積累了足夠的理解和經(jīng)驗后再著手引擎的學習,,相較于學習引擎然后面試一份工作要合理一些,。

Good Luck!

附圖:

如何自學游戲引擎的開發(fā)?

【知乎用戶的回答(5票)】:

引擎復引擎,,引擎何其多,,吾生待引擎,游戲成蹉跎,。

所以,,還是直接做游戲的好。

不同類型的游戲做多了自然而然就會產(chǎn)生引擎了,。

大公司一般都自己培養(yǎng)人,小公司基本都是抄open source,。

初學者進公司不可能讓你負責引擎的,,沒幾年的業(yè)務積累,根本不知道引擎業(yè)務到底是做什么,。

都是從一線業(yè)務開始,,比如UI之類的比較繁雜的東西。

所以還是從最基本的做起吧,。

做引擎真沒啥高大上的,,又不是黑科技。

為做游戲而做游戲,,而不是造引擎,。

游戲邏輯之類還有編輯器搞起來比引擎復雜多了。

【牛大寶的回答(1票)】:

首先聲明我水平不高

我覺得游戲引擎開發(fā)和游戲開發(fā)需要的知識內(nèi)容是一樣,,學游戲開發(fā)和學游戲引擎開發(fā)沒有本質(zhì)區(qū)別,,除了現(xiàn)在國內(nèi)普遍的快速開發(fā)門檻較低以外

鑒于有人看不懂我在說什么,補充一點

題主可以參考這篇文章,,比較全面

游戲程序員養(yǎng)成計劃 (更新2013.3.19)

其中的知識我覺得不管對游戲引擎開發(fā)還是對游戲開發(fā)來說都是必要的,,隨意我覺得兩者沒有本質(zhì)區(qū)別

【蘆小的回答(0票)】:

同意 @張靜vinjn 。游戲引擎作為一個整體,,是從游戲中不斷抽象出來的,。不論是技術(shù)角度還是商業(yè)角度,引擎都不可能脫離游戲而單獨存在,。

但是就個人發(fā)展而言,,樓主應該是對技術(shù)比較趕興趣,而對游戲本身興趣不大,,所以才只想去做引擎(或者只是簡單覺得寫引擎技術(shù)含量更高)

如果沒有一定的游戲開發(fā)經(jīng)驗,,應該不大可能駕馭的了引擎整體架構(gòu)這種工作。但是深入研究游戲引擎的某一個領(lǐng)域?qū)τ跇侵骺赡苁潜容^好的出路吧,比如圖形,,智能,,網(wǎng)絡。確實也認識不少不玩游戲,,只是喜歡某個技術(shù)而入行的,。

【知乎用戶的回答(0票)】:

《游戲引擎架構(gòu)》這本書好像可以滿足題主接下來的需要,雖然我也沒看過,。,。。

【烏不歸的回答(0票)】:

自己從c++開始寫游戲才有用,。公司自研引擎的目標都是做游戲,。以做引擎為目標去做引擎,10個引擎9個都沒用,,沒用的引擎等于沒做,。

同意 @蘆小 的說法“如果沒有一定的游戲開發(fā)經(jīng)驗,應該不大可能駕馭的了引擎整體架構(gòu)這種工作,?!保ㄗh樓主專攻一個領(lǐng)域,。比如圖形,,另外Dx不是基礎,要學圖形題主應該從計算機圖形學基礎開始,。例如《Real-Time Rending》這種書應該看在Dx前面,。

【逍遙劍客的回答(0票)】:

自己寫游戲

【GameOrange的回答(0票)】:

先研究下開源游戲引擎是怎么回事,先學會用游戲引擎開發(fā)游戲,,再研究游戲引擎,。 推薦學習研究下開源的OGEngine,也可以加入OGEngine開發(fā)者討論群和開發(fā)者討論

【Huangzhidu的回答(0票)】:

先把c++玩熟,,再把圖形學要用到的數(shù)學和物理基礎吃透(這部分涉及的可不少),,再看圖形接口的書,順便向底層拓展一下,。之后就可以一邊練小程序,,一邊攻克渲染方面的難題了……(我也不是學圖形學的,一直在摸索前進,,所以答案僅供題主參考,,共同努力吧)

原文地址:知乎

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多