unityd面試題總結(jié)_第1頁
unityd面試題總結(jié)_第2頁
unityd面試題總結(jié)_第3頁
unityd面試題總結(jié)_第4頁
unityd面試題總結(jié)_第5頁
免費預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、本人總結(jié)的一些Unity3d高頻面試題目,希望可以幫助到大家。限于個人水平有限,只附上一些參考答案。數(shù)據(jù)結(jié)構(gòu)和算法很重要,圖形學(xué)也很重要!大的游戲公司很看重個人基礎(chǔ)、綜合能力;小公司看你實際工作能力,看你的 Demo。高頻問答的問題:一. 什么是渲染管道?是指在顯示器上為了顯示出圖像而經(jīng)過的一系列必要操作。渲染管道中的很多步驟,都要將幾何物體從一個坐標(biāo)系中變換到 另一個坐標(biāo)系中去。主要步驟有:本地坐標(biāo)-> 視圖坐標(biāo)-> 背面裁剪-> 光照-> 裁剪-> 投影-> 視圖變 換-> 光柵化。二. 如何優(yōu)化內(nèi)存?有很多種方式,例如1. 壓縮自帶類庫;2. 將

2、暫時不用的以后還需要使用的物體隱藏起來而不是直接Destroy 掉;3.釋放AssetBundle 占用的資源;4. 降低模型的片面數(shù),降低模型的骨骼數(shù)量,降低貼圖的大小;5.使用光照貼圖,使用多層次細(xì)節(jié)(LOD),使用著色器(Shader),使用預(yù)設(shè)(Prefab)。三、動態(tài)加載資源的方式?(有時候也問區(qū)別,具體請百度)1. Resources.Load();2. AssetB un dle四、什么是協(xié)同程序?在主線程運行時同時開啟另一段邏輯處理,來協(xié)助當(dāng)前程序的執(zhí) 行。換句話說,開啟協(xié)程就是開啟一個線程??梢杂脕砜刂七\動、序 列以及對象的行為。五、你用過哪些插件?(最好多熟悉幾個插件,問的

3、時候好回答)1.使用Unity3d實現(xiàn)2d游戲,有幾種方式?1.使用本身的GUI ;2.把攝像機的Projection(投影)值調(diào)為Orthographic(正交投影),不考慮z軸;3.使用 2d 插件,如:2DToolKit ;2.U nity3d中的碰撞器和觸發(fā)器的區(qū)別?碰撞器有碰撞的效果,IsTrigger二false,可以調(diào)用On Collisio nEn ter/Stay/Exit函數(shù);觸發(fā)器沒有碰撞效果,IsTrigger二true,可以調(diào)用On TriggerE nter/Stay/Exit函數(shù)。3. 物體發(fā)生碰撞的必要條件兩個物體都必須帶有碰撞器(Collider),其中一個物

4、體還必須帶有Rigidbody 剛體。4.CharacterController和 Rigidbody 的區(qū)別?CharacterCo ntroller自帶膠囊碰撞器,里面包含有剛體的屬性;Rigidbody就是剛體,使物體帶有剛體的特征。5. 在物體發(fā)生碰撞的整個過程中,有幾個階段,分別列出對應(yīng)的函數(shù)三個階段1.0 nCollisio nEnter2.0 nCollisio nStay3.O nCollisio nExit,都在 rigidbody 系6. U nity3d的物理引擎中,有幾種施加力的方式,分別描述出來rigidbody.AddForce/AddForceAt Positi

5、on列函數(shù)中。7. 什么叫做鏈條關(guān)節(jié)?Hin ge Joi nt,可以模擬兩個物體間用一根鏈條連接在一起的情況,能保持兩個物體在一個固定距離內(nèi)部相互移動而不產(chǎn)生作用力, 但是達到固定距離后就會產(chǎn)生拉力。8. 物體自身旋轉(zhuǎn)使用的函數(shù)?Tran sform.Rotate()9. 物體圍繞某點旋轉(zhuǎn)使用的函數(shù)?Tran sform.RotateAro un d()10.Unity3d 提供了一個用于保存和讀取數(shù)據(jù)的類(PlayerPrefs),請 列出保存和讀取整形數(shù)據(jù)的函數(shù)PlayerPrefs.Set In t()P layerPrefs.Getl nt()11.U nity3d提供了幾種光源類型

6、,分別是哪幾種?四種。平行光:Directi onal Light點光源:Point Light聚光燈:Spot Light區(qū)域光源:Area Light12.U nity3d腳本從喚醒到銷毀有著一套比較完整的生命周期,請列出系統(tǒng)自帶的幾個重要的方法。Awake>Start >Up date>FixedU pdate>LateU pdate>0n GUI>Reset >0n Disable>On Destroy13. 物理更新一般放在哪個系統(tǒng)函數(shù)里?FixedU pdate,每固定幀繪制時執(zhí)行一次,和Up date 不同的是FixedUpdate

7、是渲染幀執(zhí)行,如果你的渲染效率低下的時候FixedU pdate 調(diào)用次數(shù)就會跟著下降。FixedU pdate 比較適用于物 理引擎的計算,因為是跟每幀渲染有關(guān)。Up date就比較適合做控制。14. 移動攝像機的動作放在哪個系統(tǒng)函數(shù)中,為什么放在這個函數(shù)中?LateU pdate ,在每幀執(zhí)行完畢調(diào)用,它是在所有Up date結(jié)束后才調(diào),比較適合用于命令腳本的執(zhí)行。官網(wǎng)上例子是攝像機的跟隨, 都是在所有Up date操作完才跟進攝像機,不然就有可能出現(xiàn)攝像機已經(jīng)推進了,但是視角里還未有角色的空幀出現(xiàn)。15. 當(dāng)游戲中需要頻繁創(chuàng)建一個物體時,我們需要怎樣做能夠節(jié)省內(nèi)存?使用預(yù)制物體對象Pre

8、fab,然后復(fù)制創(chuàng)建。16. 在場景中放置多個Camera并同時處于活動狀態(tài)會發(fā)生什么?游戲界面可以看到很多攝像機的混合。17. 請描述Prefab的作用,并描述如何在移動設(shè)備的環(huán)境下恰當(dāng)?shù)氖褂盟?Prefab在實例化的時候用到,主要用于經(jīng)常會用到的物體,屬性方便修改。18.如何銷毀一個UnityEngine.Object及其子類?使用Destroy。方法;19.請簡述Unity3d下如何安全的在不同工程間遷移 asset數(shù)據(jù),請列舉出三種方法?1.可以把assets目錄和Library目錄一起遷移2.導(dǎo)出包3. 用 Unity 帶的 assets Server 功能20.請描述游戲動畫有哪幾

9、種,以及其原理?主要有關(guān)節(jié)動畫、骨骼動畫、單一網(wǎng)格模型動畫 (關(guān)鍵幀動畫)。關(guān)節(jié)動畫:把角色分成若干獨立部分,一個部分對應(yīng)一個網(wǎng)格模型,部分的動畫連接成一個整體的動畫,角色比較靈活,Quake2中使用這種動畫;骨骼動畫,廣泛應(yīng)用的動畫方式,集成了以上兩個方式的優(yōu)點,骨骼按角色特點組成一定的層次結(jié)構(gòu),有關(guān)節(jié)相連,可做相對運動, 皮膚作為單一網(wǎng)格蒙在骨骼之外,決定角色的外觀;單一網(wǎng)格模型動畫由一個完整的網(wǎng)格模型構(gòu)成,在動畫序列的關(guān)鍵幀里記錄各個頂點的原位置及其改變量, 然后插值運算實現(xiàn)動畫效 果,角色動畫較真實。21.請描述為什么Unity3d中會發(fā)生在組件上出現(xiàn)數(shù)據(jù)丟失的情況般是組件上綁定的物體

10、對象被刪除了22.al pha ble nd工作原理Al pha Ble nd實現(xiàn)透明效果,不過只能針對某塊區(qū)域進行al pha操作,透明度可設(shè)。23.寫出光照計算中的diffuse的計算公式diffuse = Kd x colorLight x max(N*L,0) ; Kd 漫反射系數(shù)、colorLight光的顏色、N單位法線向量、L由點指向光源的單位向量、其中N與L點乘,如果結(jié)果小于等于0,則漫反射為0。24.Lod是什么,優(yōu)缺點是什么?LOD(Level of detail)多層次細(xì)節(jié),是最常用的游戲優(yōu)化技術(shù)。它按照模型的位置和重要程度決定物體渲染的資源分配,降低非重要物 體的面數(shù)和細(xì)

11、節(jié)度,從而獲得高效率的渲染運算。25.兩種陰影判斷的方法、工作原理。26.Vertex Shader 是什么,怎么計算?頂點著色器27.Mi pMap 是什么,作用?Mip Ma pping :在三維計算機圖形的貼圖渲染中有常用的技術(shù),為加快渲染進度和減少圖像鋸齒,貼圖被處理成由一系列被預(yù)先計算和優(yōu)化過的圖片組成的文件,這樣的貼圖被稱為MipMap 。28.機試:二選1.用代碼實現(xiàn)第三角色控制器2.實現(xiàn)吊機吊物體的功能29. 反向旋轉(zhuǎn)動畫的方法是什么?30. 碰撞檢測需要物體具備什么屬性?31. 獲取、增加、刪除組件的命令分別是什么?獲?。篏etComponent增加:AddComponent

12、刪除:Destroy32.A ni matio n.CrossFade命令作用是:(C)A.動畫放大B.動畫轉(zhuǎn)換C.動畫的淡入為其他動畫33.A PP licatio n.loadLevel命令為:(A)A.加載關(guān)卡B.異步加載關(guān)卡C.加載動作34. 調(diào)試記錄到控制臺的命令是什么?Debug丄og();35. 編輯器類存放路徑是什么?工程目錄下的Assets/Editor 文件夾下。36. 使用原生GUI創(chuàng)建一個可以拖動的窗口命令是什么?GUl.DragWi ndow();37.localPosition與 Position 的使用區(qū)別?loca lP osition :自身位置,相對于父級的變換的位置。Position :在世界坐標(biāo) transform 的位置38.意義連線Mathf.Rou nd插值Mathf.Cla mp四舍五入Mathf.Lerp限制39.寫一個計時器工具,從整點開始計時,格式為:00:00:0040.寫出Animation 的五個方法41.怎么拿到一個對象上腳本的方法GameObject.GetCo mpo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論