進(jìn)階篇參考學(xué)習(xí)-unity就業(yè)與面試筆試題網(wǎng)絡(luò)題庫(kù)_第1頁(yè)
進(jìn)階篇參考學(xué)習(xí)-unity就業(yè)與面試筆試題網(wǎng)絡(luò)題庫(kù)_第2頁(yè)
進(jìn)階篇參考學(xué)習(xí)-unity就業(yè)與面試筆試題網(wǎng)絡(luò)題庫(kù)_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Unity 的一些筆試題在網(wǎng)絡(luò)上搜到的一些 Unity 筆試題,下面解答部分為本人重新編寫(xiě)的,希望幫到大家!1.請(qǐng)描述動(dòng)畫(huà)有哪幾種,以及其原理。主要有關(guān)節(jié)動(dòng)畫(huà)、單一網(wǎng)格模型動(dòng)畫(huà)(關(guān)鍵幀動(dòng)畫(huà))、骨骼動(dòng)畫(huà)。關(guān)節(jié)動(dòng)畫(huà)把角色分成若干獨(dú)立部分,一個(gè)部分對(duì)應(yīng)一個(gè)網(wǎng)格模型,部分的動(dòng)畫(huà)連接成一個(gè)整體的動(dòng)畫(huà),角色比較靈活Quake2 中使用了這種動(dòng)畫(huà)。單一網(wǎng)絡(luò)模型動(dòng)畫(huà)由一個(gè)完整的網(wǎng)格模型,在動(dòng)畫(huà)序列的關(guān)鍵幀里各個(gè)頂點(diǎn)的原位置及其改變量,然后插值運(yùn)算實(shí)現(xiàn)動(dòng)畫(huà)效果,角色動(dòng)畫(huà)較真實(shí)。骨骼動(dòng)畫(huà),廣泛應(yīng)用的動(dòng)畫(huà)方式,集成了以上兩個(gè)方式的優(yōu)點(diǎn),骨骼按角色特點(diǎn)組成一定的層次結(jié)構(gòu),由關(guān)節(jié)相連,可做相對(duì)運(yùn)動(dòng),皮膚作為單一網(wǎng)格蒙在

2、骨骼之外,決定角色的外觀。皮膚網(wǎng)格每一個(gè)頂點(diǎn)都會(huì)受到骨骼的影響,從而實(shí)現(xiàn)完美的動(dòng)畫(huà)。(骨骼動(dòng)畫(huà)是由關(guān)節(jié)動(dòng)畫(huà)發(fā)展而來(lái)的,如今基本都使用骨骼動(dòng)畫(huà)來(lái)實(shí)現(xiàn)角色動(dòng)畫(huà))2.alpha blend 工作原理實(shí)際顯示顏色 = 前景顏色*Alpha/255 + 背景顏色*(255-Alpha)/2553.寫(xiě)光照計(jì)算中的 diffuse 的計(jì)算公式實(shí)際光照強(qiáng)度 I= 環(huán)境光(Iambient) + 漫反射光(Idiffuse) + 鏡面高光(Ispecular);環(huán)境光:Iambient= Aensity* Acolor; (Aensity 表示環(huán)境光強(qiáng)度,Acolor 表示環(huán)境光顏色)漫反射光:Idiffuse

3、 = Density*Dcolor*N.L;(Density 表示漫反射強(qiáng)度,Dcolor 表示漫反射光顏色,N 為該點(diǎn)的法向量,L 為光源向量)鏡面反射光:Ispecular = Sensity*Scolor*(R.V)n;(Sensity 表示鏡面光照強(qiáng)度,Scolor 表示鏡面光顏色,R 為光的反射向量,V 為觀察者向量,n 稱為鏡面光指數(shù))4.lod 是什么,優(yōu)缺點(diǎn)是什么LOD 技術(shù)即 Levels of Detail 的簡(jiǎn)稱,意為多細(xì)節(jié)層次。LOD 技術(shù)指根據(jù)物體模型的節(jié)點(diǎn)在顯示環(huán)境中所處的位置和重要度,決定物體渲染的資源分配,降低非重要物體的面數(shù)和細(xì)節(jié)度,從而獲得高效率的渲染運(yùn)算。

4、優(yōu)點(diǎn):可根據(jù)距離動(dòng)態(tài)地選擇渲染不同細(xì)節(jié)的模型缺點(diǎn):加重美工的負(fù)擔(dān),要準(zhǔn)備不同細(xì)節(jié)的同一模型,同樣的會(huì)稍微增加的容量。5.兩種陰影判斷的方法工作原理陰影由兩部分組成:本影與半影本影:景物表面上那些沒(méi)有被光源直接照射的區(qū)域(全黑的輪廓分明的區(qū)域)半影:景物表面上那些被某些特定光源直接照射但并非被所有特定光源直接照射的區(qū)域(半明半暗區(qū)域)求陰影區(qū)域的方法:做兩次消隱過(guò)程一次對(duì)每個(gè)光源進(jìn)行消隱,求出對(duì)于光源而言不可見(jiàn)的區(qū)域 L;一次對(duì)視點(diǎn)的位置進(jìn)行消隱,求出對(duì)于視點(diǎn)而言可見(jiàn)的面S;shadow area= L S陰影分為兩種:自身陰影和投射陰影自身陰影:因物體自身的遮擋而使光線照射不到它上面的某些可見(jiàn)

5、面工作原理:利用背面剔除的方法求出,即假設(shè)視點(diǎn)在點(diǎn)光源的位置。投射陰影:因不透明物體遮擋光線使得場(chǎng)景中位于該物體后面的物體或區(qū)域受不到光照照射而形成的陰影工作原理:從光源處向物體的所有可見(jiàn)面投射光線,將這些面投影到場(chǎng)景中得到投影面,再將這些投影面與場(chǎng)景中的其他平面求交得出陰影多邊形,保存這些陰影多邊形信息,然后再按視點(diǎn)位置對(duì)場(chǎng)景進(jìn)行相應(yīng)處理得到所要求的視圖(利用空間換時(shí)間,每次只需依據(jù)視點(diǎn)位置進(jìn)行一次陰影計(jì)算即可,省去了一次消隱過(guò)程)若是動(dòng)態(tài)光源此方法就無(wú)效了。5.Vertex Shader 是什么?怎么計(jì)算?頂點(diǎn)器是一段執(zhí)行在GPU 上的程序,用來(lái)取代fixed pipeline 中的tra

6、nsformation 和 lighting,Vertex Shader 主要操作頂點(diǎn)。Vertex Shader 對(duì)輸入頂點(diǎn)完成了從 local space 到 homogeneous space(空間)的變換過(guò)程,homogeneous space 即 projection space 的下一個(gè)space。在這其間共有 world transformation, view transformation 和 projection transformation 及 lighting 幾個(gè)過(guò)程。6.MipMap 是什么?作用?在三維計(jì)算機(jī)圖形的貼圖渲染中有一個(gè)常用的技術(shù)被稱為 Mipmap。為了

7、加快渲染速度和減少圖像鋸齒,貼圖被處理一系列被預(yù)先計(jì)算和優(yōu)化過(guò)的MIP map 或者 mipmap。組成的文件,這樣的貼圖被稱為7.用 u3d 實(shí)現(xiàn) 2d,有幾種方式?1.利用引擎自帶的 GUI2.把機(jī)設(shè)為Orthographic,用面片作為 2d 元素3.利用第插件:NGUI、2dToolkit8.u3d 中碰撞器和觸發(fā)器的區(qū)別?collider 碰撞器會(huì)有碰撞的效果,IsTrigger = false,可以調(diào)用 OnColliEnter/Stay/Exit 函數(shù)trigger 觸發(fā)器沒(méi)有碰撞效果,isTrigger = true,可以調(diào)用 OnTriggerEnter/stay/exit

8、函數(shù)9.物體發(fā)生碰撞的必要條件物體A 必須帶有(collider+rigidbody)或者 CharacterController,另一個(gè)物體也必須至少帶有 collider10.CharacterController 和 Rigidbody 的區(qū)別Rigidbody 具有完全真實(shí)物理的特性,而 CharacterController 可以說(shuō)是受限的 Rigidbody,具有一定的物理效果但不是完全真實(shí)的。11.物體發(fā)生碰撞時(shí),有幾個(gè)階段,分別對(duì)應(yīng)的函數(shù)三個(gè)階段,OnColliEnter/Stay/Exit 函數(shù)12.u3d 中,幾種施加力的方式,描述出來(lái)rigidbody.AddForce/

9、AddForceAtition,都是 rigidbody 的成員函數(shù)13.什么叫做鏈條關(guān)節(jié)Hinge Jo,他可以模擬兩個(gè)物體間用一根鏈條連接在一起的情況,能保持兩個(gè)物體在一個(gè)固定距離相互移動(dòng)而不產(chǎn)生作用力,但是達(dá)到固定距離后就會(huì)產(chǎn)生拉力。(簡(jiǎn)單說(shuō)就是彈簧)14.物體自旋轉(zhuǎn)使用的函數(shù)叫什么transform.Roe15.物體繞某點(diǎn)旋轉(zhuǎn)使用函數(shù)叫什么transform.RoeAround16.u3d 提供了一個(gè)用于保存數(shù)據(jù)的類,(playrefs),請(qǐng)列出保存整形數(shù)據(jù)的函數(shù)Playrefs.Set與 Playrefs.Get17.unity3d 提供了幾種光源,分別是什么共 4 種,Direct

10、ional Light、PoLight、Spot Light、Area Light(只用于烘培)18.unity3d 從喚醒到銷毀有一段生命周期,請(qǐng)列出系統(tǒng)自己調(diào)用的幾個(gè)重要方法。Awake OnEnable Start Update FixedUpdate LateUpdate OnGUI Reset OnDisable OnDestroy19.物理更新一般在哪個(gè)系統(tǒng)函數(shù)里?FixedUpdate,每固定幀繪制時(shí)執(zhí)行一次,和 update 不同的是FixedUpdate 是渲染幀執(zhí)行,如果你的渲染效率低下的時(shí)候FixedUpdate 調(diào)用次數(shù)就會(huì)跟著下降。FixedUpdate 比較適用于物

11、理引擎的計(jì)算,因?yàn)槭歉繋秩居嘘P(guān)。Update 就比較適合做控制。20.移動(dòng)相機(jī)動(dòng)作在哪個(gè)函數(shù)里,為什么在這個(gè)函數(shù)里。LateUpdate,,是在所有 update 結(jié)束后才調(diào),比較適合用于命令的執(zhí)行。官網(wǎng)上例子是機(jī)的跟隨,都是在所有 update 操作完才跟進(jìn)是視角里還未有角色的空幀出現(xiàn)。機(jī),不然就有可能出現(xiàn)機(jī)已經(jīng)推進(jìn)了,但21.當(dāng)中需要頻繁創(chuàng)建一個(gè)物體對(duì)象時(shí),需要怎么做來(lái)節(jié)省內(nèi)存。做一個(gè) pool,開(kāi)始時(shí)預(yù)先實(shí)例化足夠的數(shù)量,然后用的時(shí)候取不用的時(shí)候收回1. u3d 實(shí)現(xiàn) 2d,有幾種方式?1.利用引擎自帶的 GUI2.把機(jī)設(shè)為 Orthographic,用面片作為 2d 元素3.利用第

12、插件:NGUI、2dToolkit2. u3d 物體發(fā)生碰撞時(shí),有幾個(gè)階段,分別對(duì)應(yīng)的函數(shù)三個(gè)階段,OnColliEnter/Stay/Exit()函數(shù)3.u3d 提供了一個(gè)用于保存數(shù)據(jù)的類,(playrefs),請(qǐng)列出保存整形數(shù)據(jù)的函數(shù)Playrefs.Set(string,)與 Playrefs.Get(string)方法 3,用 unity 帶的assets server 功能一個(gè)場(chǎng)景放置多個(gè) camera 并同時(shí)處于活動(dòng)狀態(tài),會(huì)發(fā)生什么實(shí)際看到的畫(huà)面由多個(gè)camera 的畫(huà)面組depth、Clear Flag、Culling Mask 都會(huì)影響最終效果。簡(jiǎn)述 prefab 的用處和環(huán)境

13、在運(yùn)行時(shí)實(shí)例化,prefab 相當(dāng)于一個(gè)模版,對(duì)你已有的素材、參數(shù)做一個(gè)默認(rèn)配置,以便于以后修改,同時(shí) prefab 打包的內(nèi)容簡(jiǎn)化了導(dǎo)出的操作,便于團(tuán)隊(duì)的交流。如何銷毀一個(gè) UnityEngine.Object 以及其子類Destroy為什么 u3d 會(huì)出現(xiàn)組件上數(shù)據(jù)丟失的情況一般是組件上綁定的物體對(duì)象被刪除了u3d 下如何安全的在不同工程遷移 asset 數(shù)據(jù)方法 1,可以把 assets 目錄和 Library 目錄一起遷移,方法 2,導(dǎo)出包4.unity3d 從喚醒到銷毀有一段生命周期,請(qǐng)列出系統(tǒng)自己調(diào)用的幾個(gè)重要方法(按執(zhí)行順序書(shū)寫(xiě)至少五個(gè))。Awake OnEnable Start

14、 Update FixedUpdate - LateUpdate OnGUI OnDisable OnDestroy5.u3d 下如何安全的在不同工程遷移 asset 數(shù)據(jù)方法1 可以把 assets 目錄和 Library 目錄一起遷移。2,導(dǎo)出包 Export Package 。3 用 unity 帶的 assets server 功能。藍(lán)港面試unity3D 筆試題?1string a=new string(“abc”);5、請(qǐng)描述erface 和抽象類之間的不同。網(wǎng)上很多6、下列代碼在運(yùn)行中,會(huì)產(chǎn)生幾個(gè)臨時(shí)對(duì)象?GC 一般是回收在堆上的內(nèi)存,所以一般 new 的話 只 new 在棧上就

15、好了 ,適當(dāng)?shù)淖鲂﹐bjectpool,也會(huì)減輕 gc 的壓力。4、請(qǐng)簡(jiǎn)述 GC(收集)產(chǎn)生的原因,并描述如何避免。LIST 是接口類,ArrayList 類實(shí)現(xiàn)了這個(gè)接口,可以這樣用:List a=new ArrayList();1、請(qǐng)簡(jiǎn)述值類型與類型的區(qū)別。值類型傳遞的是值本身,類型傳遞的是地址。2、C#中所有類型的基類是什么?object3、請(qǐng)簡(jiǎn)述 ArrayList 和 List之間的主要區(qū)別。9、請(qǐng)簡(jiǎn)述 private,public,protected, ernal 的區(qū)別。 private:私有成員,在類的才可以。 public:公共成員,完全公開(kāi),沒(méi)有限制。protected:保

16、護(hù)成員,該類和繼承中可以。ernal:當(dāng)前程序集內(nèi)可以。10、請(qǐng)簡(jiǎn)述反射的實(shí)現(xiàn)原理。11、請(qǐng)簡(jiǎn)述.Net 與 Mono 之間的關(guān)系。mono 是.net 的一個(gè)工具,.net 只能在 windows下跑,mono 可以跨,可以運(yùn)行于 Linux,F(xiàn)reeBSD,Unix,OS X 和 Solaris12、請(qǐng)簡(jiǎn)述 Unity3D 支持的 3 種語(yǔ)言的名稱。C#、JS、BOOforeach 會(huì)產(chǎn)生大量臨時(shí)對(duì)象 直接 Is.Clear()多好8、請(qǐng)簡(jiǎn)述 sealed 關(guān)鍵字用在類時(shí)與函數(shù)時(shí)的作用。作為類別的時(shí)候 不能有子類 作為函數(shù)的修飾符的時(shí)候 在子類里不能重寫(xiě)函數(shù)?123456List Is=n

17、ew List(new1,2,3,4,5); foreach(n in Is)Debug.Log(n*n); Is.Remove(n);7、下列代碼在運(yùn)行中會(huì)發(fā)生什么問(wèn)題?如何避免?2a=(a.ToUpperCase()+“123”).SubString(0,2);13、Unity3D 是否支持寫(xiě)成多線程程序?如果支持的話要注意什么?支持:如果同時(shí)你要處理很多事情或者與 Unity 的對(duì)象互動(dòng)小可以用 thread,否則使用 c oroutine。注意:C#中有 lock 這個(gè)關(guān)鍵字,以確保只有一個(gè)線程可以在特定時(shí)間內(nèi)特定的對(duì)象14、Unity3D 中的協(xié)程(coroutine)和 C#線程之

18、間的區(qū)別是什么?Unity3d 沒(méi)有多線程的概念,不過(guò) unity 也給提供了 StartCoroutine(協(xié)同程序)和LoadLevelAsync(異步加載關(guān)卡)加載場(chǎng)景的方法。StartCoroutine 為什么叫協(xié)同程序呢,所謂協(xié)同,就是當(dāng)你在 StartCoroutine 的函數(shù)體里處理一段代碼時(shí),利用 yield語(yǔ)句等待執(zhí)行結(jié)果,這期間不影響主程序的繼續(xù)執(zhí)行,可以協(xié)同工作。而 LoadLevelAsync 則允許你在或動(dòng)畫(huà)提示玩家加載新資源和場(chǎng)景,所以再利用協(xié)同,你就可以前臺(tái)用 loading 條未卡死,同時(shí)協(xié)同處理加載的事宜 asynchronouse s kr n s .syn

19、chronous 同步。15、請(qǐng)說(shuō)出 Unity3D 中勇于節(jié)點(diǎn)空間幾何信息的組件名稱,及其父類名稱。transform,父類 component16、請(qǐng)簡(jiǎn)述四元數(shù)的作用以及四元數(shù)相對(duì)歐拉角的優(yōu)點(diǎn)。17、請(qǐng)簡(jiǎn)述向量的點(diǎn)乘,向量的叉乘以及向量歸一化的意義。18、請(qǐng)簡(jiǎn)述矩陣相乘的意義以及。19、請(qǐng)簡(jiǎn)述為何大家都在移動(dòng)設(shè)備上尋求 Unity3D 的原生 GUI 系統(tǒng)的替代方案。20、請(qǐng)簡(jiǎn)述如何在不同分辨率下保持 UI 的一致性。21、請(qǐng)簡(jiǎn)述為什么 dynamic font 在 unicode 環(huán)境下優(yōu)于 sic font。22、請(qǐng)簡(jiǎn)述 Renderer 的作用,并描述 MeshRenderer 與

20、SkinnedMeshRenderer 之間的關(guān)系與不同。23、請(qǐng)簡(jiǎn)述 SkinnedMesh 的實(shí)現(xiàn)原理。24、在場(chǎng)景中 Prefab 的作用,并描述如何在移動(dòng)設(shè)備環(huán)境下恰當(dāng)?shù)氖褂盟?3、請(qǐng)簡(jiǎn)述 Unity3D 如何獲知場(chǎng)景中需要加載的數(shù)據(jù)。當(dāng) renderer(渲染器)在任何相機(jī)上可見(jiàn)時(shí)調(diào)用:OnBecameVisible當(dāng) renderer(渲染器)在任何相機(jī)上都不可見(jiàn)時(shí)調(diào)用:OnBecameInvisible29、請(qǐng)簡(jiǎn)述 MeshCollider 和其他 Collider 的一個(gè)主要不同點(diǎn)。30、當(dāng)一個(gè)細(xì)小的高速運(yùn)動(dòng)的物體(如)撞向另一個(gè)較大的物體時(shí),可能出現(xiàn)什么情況?如何避免?31

21、、請(qǐng)簡(jiǎn)述 OnEnable,Aawake 和 Start 在運(yùn)行時(shí)的發(fā)生順序。哪些可能在同一個(gè)對(duì)象的生命期中發(fā)生。32、請(qǐng)簡(jiǎn)述 OnBecameVisible 及 OnBecameInvisible 的發(fā)生時(shí)機(jī),以及這一對(duì)回調(diào)方法的意義。3.用 Unity 帶的 assets Server 功能2.導(dǎo)出包1.可以把 assets 目錄和 Library 目錄一起遷移26、如何銷毀一個(gè) UnityEngine.Object 及其子類。27、請(qǐng)簡(jiǎn)述為什么 Unity3D 中會(huì)發(fā)生在組建上出現(xiàn)數(shù)據(jù)丟失的情況(missing)。28、請(qǐng)簡(jiǎn)述 Unity3D 下如何安全的在不同工程間遷移 asset 數(shù)據(jù),請(qǐng)舉出三種方法。虛擬現(xiàn)實(shí)面試題:時(shí)間:2013 年 10 月 25 日地點(diǎn):公司:該公司主要做虛擬現(xiàn)實(shí)方面的業(yè)務(wù)首先是準(zhǔn)時(shí)赴約,前臺(tái)給了份筆試題,雖然題目很簡(jiǎn)單以前也見(jiàn)過(guò),但沒(méi)怎么準(zhǔn)備,答的很一般。接著就是面試,技術(shù)問(wèn)了一些我簡(jiǎn)歷上面寫(xiě)的,這些用過(guò)接觸的不是太深,就按我所想的回答,自己學(xué)得不是太深,不敢在內(nèi)行面前班門(mén)弄斧,回答的很一般。面試主要問(wèn)了以下問(wèn)題:接觸 Unity3

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論