亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

游戲開發(fā)常見面試題與知識點(diǎn)整理總結(jié)

  發(fā)布時(shí)間:2020-01-13 14:13:07   作者:王子公園   我要評論
這篇文章主要介紹了游戲開發(fā)常見面試題與知識點(diǎn),整理總結(jié)了游戲開發(fā)中Unity、C#基本知識點(diǎn)、原理、以及面試常見考點(diǎn),需要的朋友可以參考下

面試第一次知識總結(jié):

一、Unity基本操作

1、unity提供哪幾種光源?

點(diǎn)光源、平行光、聚光燈、區(qū)域光。

2、物體發(fā)生碰撞的必要條件什么?

兩個(gè)物體必須有碰撞體Collider組件,一個(gè)物體上必須有剛體組件Rigidbody。

3、碰撞體和觸發(fā)器區(qū)別與聯(lián)系

觸發(fā)器是碰撞體上的一個(gè)屬性,如果不勾選觸發(fā)器,兩個(gè)物體是不可以別擊穿;有了觸發(fā)器后是可以被擊穿的。

檢測碰撞體方法:OnCollisionEnter/Stay/Exit()                檢測觸發(fā)器方法:OnTriggerEnter/Stay/Exit()

4、預(yù)設(shè)(prefab)的好處

預(yù)設(shè)更多的像一個(gè)模板,比如將一個(gè)人物模型設(shè)置成預(yù)設(shè),我們可以在不同的場景使用,方便使用。

5、如何利用unity開發(fā)2D游戲

1)使用本身的GUI

2)攝像機(jī)的投影(projection)方式改為正交投影,不考慮一個(gè)坐標(biāo)軸

3)使用插件2DToolKit

6、事件函數(shù)的執(zhí)行順序

初始化:函數(shù)Awake(激活游戲?qū)ο?----OnEnable(實(shí)例化游戲?qū)ο?-----Start(初始化)

更新順序:FixedUpdate(物理計(jì)算,處理剛體)----Update()----LateUpdate(相機(jī)跟隨)

渲染部分:OnBecameVisible/Invisible(相機(jī)中可見或不可見)----OnGUI(執(zhí)行鍵盤和鼠標(biāo)事件)

對象銷毀和退出場景:OnDisable(不激活對象)----OnDestroy(銷毀游戲?qū)ο?-----OnApplicationQuit(游戲場景退出)

7、協(xié)程

協(xié)程功能類似與多線程,StartCoroutine()-----yield WaitForSecond/WWW-----StopCoroutine()

協(xié)程背后通過迭代器實(shí)現(xiàn),主要實(shí)現(xiàn)了兩個(gè)接口,IEnumerator和IEnumerable,接口的方法重要有三個(gè)方法,MoveNext()---Current--Dispose()

8、對象池

對象池用于存放反復(fù)被調(diào)用的資源,比如射擊類游戲中的子彈。

9、物體旋轉(zhuǎn)和添加力

Transform.Rotate()、Rigidbody.AddForce()

10、Unity、Mono和.Net的關(guān)系

Unity是在.Net平臺上運(yùn)行,只能在window下運(yùn)行,而mono是實(shí)現(xiàn)跨平臺的工具。

11、uinty支持的腳本語言

c#、javascripts、Boo。

12、Mipmap

Mipmap是一種貼圖,目的是為加快渲染速度和減少圖形鋸齒。

13、鏈條關(guān)節(jié)

Hinge Joint用一個(gè)鏈條模擬連接兩個(gè)物體,在一定距離后會產(chǎn)生拉力。

14、射線檢測碰撞體

Ray類,從一個(gè)點(diǎn)發(fā)射一條無邊的線,遇到碰撞體后停止發(fā)射。

15、動畫類型

關(guān)節(jié)動畫:模型分成多個(gè)獨(dú)立的部分;骨骼動畫:各個(gè)部分用關(guān)節(jié)相連;單一網(wǎng)格模型動畫:插值運(yùn)算實(shí)現(xiàn)動畫效果。

16、Unity資源處理種類

Resources:只讀,不能動態(tài)修改,不要放動態(tài)更新的資源,資源讀取Resources.Load();

StreamingAssets:完全打包,主要存放二進(jìn)制文件,用WWW類讀?。?/p>

AssetBundle:Prefab封裝成AssetBundle,加載資源的方式有Resources類和WWW類。

17、Unity Socket網(wǎng)絡(luò)編程

一般采用可靠傳輸協(xié)議TCP,服務(wù)器創(chuàng)建兩個(gè)Socket,一個(gè)用于監(jiān)聽,另一個(gè)用于接受和發(fā)送消息;客戶端連接,接受和發(fā)送消息。

18、著色器是什么,有哪幾種?

著色器模擬物體表面發(fā)生的事情,著色器包括頂點(diǎn)著色器、片元著色器、無光照著色器、表面著色器。

19、著色器和材質(zhì)的聯(lián)系

shader是材質(zhì)當(dāng)中的一個(gè)重要的屬性,可以通過自己定義的shader來更好的渲染物體表面。

20、渲染管線

數(shù)據(jù)收集(紋理,材質(zhì))----頂點(diǎn)著色器獲取圖形的2D坐標(biāo)---頂點(diǎn)后處理進(jìn)行坐標(biāo)變換,圖形基元裁剪---圖形基元收集

---柵格化接受三角形及其數(shù)據(jù),形成潛在的像素和片源----片源著色器----輸入數(shù)據(jù)。

21、無光照著色器結(jié)構(gòu)

頂點(diǎn)數(shù)據(jù)收集結(jié)構(gòu)體---頂點(diǎn)函數(shù)(著色器)---頂點(diǎn)數(shù)據(jù)通過柵格化處理后的數(shù)據(jù)---片源函數(shù)---最終的顏色

22、光照著色器中漫反射和鏡面反射的計(jì)算過程

漫反射計(jì)算過程:1)通過法線向量和光線入射方向求點(diǎn)積,得到光照強(qiáng)度;2)將光線顏色*光線強(qiáng)度*物體的表面顏色,就是我們最后看到的顏色;

鏡面反射計(jì)算過程:1)光線的入射方向和法線求出反射方向;2)將反射方向和眼睛的入射方向求點(diǎn)積;3)以點(diǎn)積為底,指數(shù)是光照強(qiáng)度求出看到的顏色。

23、后處理堆

Post-process volume游戲?qū)ο蠛蚿rofile屬性結(jié)合,對相機(jī)渲染進(jìn)行后處理,包括顆粒、暗角、景深

24、CPU優(yōu)化

1)DrawCalls,它是CUP調(diào)用底層圖形接口,每一次渲染都需要調(diào)用一次接口,可以將兩個(gè)紋理不同的材質(zhì)打包成圖集,進(jìn)行同時(shí)渲染實(shí)現(xiàn)批處理;

2)物理組件,選擇合適的Fixed Timestep,盡量不使用網(wǎng)格碰撞器(mesh collider);

3)盡量減少GC的觸發(fā),盡量不要使用foreach(),產(chǎn)生的垃圾多,最好不用LINQ命令和字符串連接,他們都是GC收集的目標(biāo);

4)代碼優(yōu)化,不頻繁使用GetComponent,善于使用OnBecameVisible和內(nèi)建數(shù)組,以及ref關(guān)鍵字。

25、GPU優(yōu)化

1)減少繪制(頂點(diǎn))的數(shù)目,使用較少的材質(zhì)數(shù)目和使用紋理圖集,使用共享材質(zhì)Renderer.sharedMaterial代替Renderer.material,

使用光照紋理(lightmap)而非實(shí)時(shí)燈光;

2)優(yōu)化顯存帶寬,OpenGL壓縮圖片,使用MipMap增加了等比例的小圖,即增加了內(nèi)存空間,但是渲染質(zhì)量比壓縮好很多。

26、四元組的作用

Quaternion對旋轉(zhuǎn)的角度進(jìn)行計(jì)算。

27、Unity制作動畫效果

windows---Animation---錄制---AddKeys

28、Unity狀態(tài)機(jī)

Animator在動畫制作完之后產(chǎn)生的文件,也就是生成的狀態(tài)機(jī),可以增加其狀態(tài)和變遷。

29、Unity導(dǎo)航尋路

windows--Navigation,選擇navigation static,進(jìn)行bake烘焙,為目標(biāo)選擇一個(gè)導(dǎo)航代理Nav Mesh Agent,對其進(jìn)行掛載腳本。

30、貼圖和精靈的區(qū)別

Sprite作為UI精靈使用,Texture作為模型貼圖使用。

二、C#面向?qū)ο笳Z言

1、多線程

一個(gè)進(jìn)程中經(jīng)常有多個(gè)線程,主線程和Thread構(gòu)造出線程為前臺線程,用IsBackgound()設(shè)置為后臺線程

通過委托構(gòu)造出的線程為后天線程,BeginInvoke(),前臺線程關(guān)閉后后臺線程隨著關(guān)閉,Lock用于解決線程之間的爭奪資源,Console.ReadLine()用于后臺線程讀取完畢。

2、值類型和引用類型

值類型:結(jié)構(gòu)(Int、Float、Bool)和枚舉,一般存儲在線程棧上,棧的存取速度優(yōu)于堆,并且可以共享,隨著方法的結(jié)束,存儲就也被釋放了。

引用類型: 類、接口、委托、字符串,一般存儲在托管堆上,對象存儲棧上,只要某個(gè)對象被引用了,這個(gè)對象的內(nèi)存就不會被釋放。

3、裝箱和拆箱

裝箱:值類型轉(zhuǎn)化為引用類型

拆箱:引用類型轉(zhuǎn)化為值類型

4、unity中的值類型和引用類型

值類型:Vector、Color、Ray、Touch

引用類型:Object、Component、MonoBehaviour

5、ArrayList和List的區(qū)別

1、ArrayList不安全,將所有的類型都當(dāng)做Object類型處理,很有可能出現(xiàn)類型不匹配的問題;

2、ArrayList在數(shù)據(jù)插入和獲取的會有裝箱和拆箱操作,而導(dǎo)致額外的開銷。

6、public、protected、private、internal區(qū)別

public:所有的類都可以訪問;protected:該類及其子類可以訪問;private:僅僅該類可以訪問;internal:該類的程序集中訪問。

7、接口和抽象類的區(qū)別

1、一個(gè)類可以繼承多個(gè)接口,但只能繼承一個(gè)抽象類;

2、接口中的方法都是抽象方法,而且必須全部實(shí)現(xiàn);抽象類可以實(shí)現(xiàn)部分方法,不一定全部是抽象方法。

8、ref和out

ref和out都是傳遞參數(shù)的關(guān)鍵字,ref傳遞的參數(shù)必須初始化,out傳遞的參數(shù)必須在函數(shù)內(nèi)賦值;

ref傳遞的是引用,一個(gè)函數(shù)需要有多個(gè)返回值時(shí)用out比較方便。

9、委托

委托最主要的是傳遞的不是變量而是一個(gè)方法,和c++中的方法指針比較相似

自定義委托步驟:1)定義委托;2)委托實(shí)例化;3)注冊委托;4)委托調(diào)用

系統(tǒng)委托有Action(注冊的方法無返回值),F(xiàn)unc(注冊的方法有返回值),Predicate(返回值為bool類型)

10、匿名和lamda表達(dá)式

匿名將委托的實(shí)例化和委托方法合并;lamda表達(dá)式是對委托方法的進(jìn)一步簡化。

11、委托和事件

委托可以作為方法的參數(shù),事件不可以;委托可以聲明一個(gè)局部變量,事件不可以;事件其實(shí)是委托的一個(gè)特殊化的實(shí)例。

12、StringBuilder類和String的區(qū)別

String類字符串是不可變的,StringBuilder是拼接字符串。

13、反射原理

反射可以讀取程序集中代碼的內(nèi)容(dll和exe文件),反射中常用Type類和Assembly類獲取命名空間、類名以及類的方法、屬性、字段。

GetMethod(),GetProperties(),GetFiled(),據(jù)說反射還可以得到private方法。

14、sealed關(guān)鍵字

如果是在類前聲明,這個(gè)類是不可以被繼承;如果是在方法前聲明,這個(gè)方法是不可以被重寫的。

15、序列化和反序列化

序列化:對象轉(zhuǎn)化為字節(jié)流的過程,首先一個(gè)對象應(yīng)該被確定為可以被序列化(Serializable)---定義文件流(FileStream)--使用格式化器BinaryFormatter進(jìn)行序列化和反序列化;

反序列化:字節(jié)流轉(zhuǎn)化為對象的過程。

16、Unity3D中序列化注意事項(xiàng)

最好為public或者使用了[SerializeField]定制特性、自定義引用類型和值類型且必須使用[Serializable]定制特性、基元類型。

17、特性

系統(tǒng)特性:Obsolete特性檢查方法是否過時(shí),Conditional特性實(shí)現(xiàn)條件編譯,比如測試方法但是需要宏定義;

Unity中的特性:DllImport特性應(yīng)用于方法,Serializable特性應(yīng)用于類型,自定義特性和拓展編輯器。

18、拓展方法

對于定義好的類進(jìn)行拓展,比如String和Int類,但是拓展類和方法都應(yīng)該是靜態(tài)的。

19、正則表達(dá)式

正則表達(dá)式判斷字符串更加簡潔,但是需要懂一些語法,最主要的類是Regex

string strPattarn = @"^\d*KaTeX parse error: Expected 'EOF', got '\d' at position 15: ";可以理解為^最開始為數(shù)字\̲d̲直到*最后仍然為數(shù)字。

string strPattern = @"^\w*$"; \w判斷用戶輸入有字母,數(shù)字,下劃線,漢字,其他都是非法的

20、構(gòu)造函數(shù)和析構(gòu)函數(shù)

構(gòu)造函數(shù):創(chuàng)建對象時(shí)初始化對象;

析構(gòu)函數(shù):用于釋放一個(gè)對象,有垃圾回收器控制,清理資源。

21、單例模式

單例模式要求某個(gè)類只要一個(gè)實(shí)例,比如一臺打印機(jī)連接了多個(gè)計(jì)算機(jī),可以將其設(shè)計(jì)為單例模式,防止兩臺計(jì)算機(jī)同時(shí)打印;

構(gòu)造函數(shù)設(shè)置為private,實(shí)例化對象instance;通過public的getInstance方法為外部獲取實(shí)例提供接口。

22、觀察者模式

一個(gè)事件發(fā)生變化,其他相關(guān)是事件都發(fā)生變化,一般用委托進(jìn)行注冊方法。

當(dāng)然還有一些其他設(shè)計(jì)模式,包括簡單工廠模式、代理模式、適配器模式、裝飾器模式、迭代器模式等。

23、Hashtable類和HashMap

Hashtable和HashMap都是存儲鍵值對,Hashtable多線程安全,HashMap多線程不安全;HashMap null可以作為鍵,而Hashtable不可以。

24、HashMap和TreeMap

HashMap和TreeMap同樣是存儲鍵值對,HashMap是無序的,而TreeMap是有序的存儲。

相關(guān)文章

  • 網(wǎng)易游戲面試題與參考答案整理分析

    這篇文章主要介紹了網(wǎng)易游戲面試題與參考答案,整理分析了網(wǎng)易游戲招聘面試中遇到的專業(yè)題、邏輯題與游戲題,以及相應(yīng)的參考答案,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-10
  • 網(wǎng)易游戲面試經(jīng)歷總結(jié)

    這篇文章主要介紹了網(wǎng)易游戲面試經(jīng)歷,總結(jié)記錄了網(wǎng)易游戲招聘面試所經(jīng)歷的流程及各個(gè)面試環(huán)節(jié)所遇到的問題,需要的朋友可以參考下
    2019-09-30
  • 騰訊游戲客戶端開發(fā)面試經(jīng)歷記錄

    這篇文章主要介紹了騰訊游戲客戶端開發(fā)面試經(jīng)歷,整理記錄了騰訊游戲開發(fā)面試中遇到的各種問題與心得體會,需要的朋友可以參考下
    2019-09-24
  • 網(wǎng)易游戲的面試題與參考答案記錄

    這篇文章主要介紹了網(wǎng)易游戲的面試題與參考答案,總結(jié)了網(wǎng)易游戲入職面試中的常見問題及對應(yīng)參考答案,涉及線程、數(shù)據(jù)庫、爬蟲、以及各種算法的Python實(shí)現(xiàn)技巧,需要的朋友可
    2019-09-23
  • 騰訊游戲客戶端開發(fā)面試經(jīng)歷分享

    這篇文章主要介紹了騰訊游戲客戶端開發(fā)面試經(jīng)歷,總結(jié)分享了騰訊游戲客戶端開發(fā)面試所涉及到的考點(diǎn)與注意事項(xiàng),需要的朋友可以參考下
    2019-09-20
  • 最全阿里面試題合集118道+答案(阿里技術(shù)專家分享)

    這篇文章主要介紹了最全阿里面試題合集118道+答案(阿里技術(shù)專家分享),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-01-10
  • 新浪java面試題與參考答案解析

    這篇文章主要介紹了新浪java面試題與參考答案,總結(jié)分析了新浪java面試網(wǎng)絡(luò)編程題目與參考答案,涉及java socket通信客戶端與服務(wù)器端功能實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-01-09
  • 網(wǎng)易社招面試流程與經(jīng)驗(yàn)總結(jié)【純干貨分享】

    這篇文章主要介紹了網(wǎng)易社招面試流程與經(jīng)驗(yàn),總結(jié)分析了網(wǎng)易社招面試主要流程,以及遇到的各種問題,并給出了相應(yīng)的參考意見,需要的朋友可以參考下
    2020-01-08
  • 最全的BAT大廠面試題整理(小結(jié))

    這篇文章主要介紹了最全的BAT大廠面試題整理(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-01-07
  • 工作一年后騰訊社招面試經(jīng)歷與經(jīng)驗(yàn)分享

    這篇文章主要介紹了工作一年后騰訊社招面試經(jīng)歷與經(jīng)驗(yàn),總結(jié)分析了筆者參與騰訊社招面試過程中所遇到的問題與相關(guān)經(jīng)驗(yàn)總結(jié),需要的朋友可以參考下
    2020-01-06

最新評論